比赛 csp2025模拟练习1 评测结果 AAAAAAWWWAAAAAAAAAAAAAAAAAAAAWAAAAAAAAWWWWWWWWWWWA
题目名称 彩色道路 最终得分 70
用户昵称 梦那边的美好TT 运行时间 8.676 s
代码语言 C++ 内存使用 15.76 MiB
提交时间 2025-10-28 11:09:31
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
#define N 200001
using namespace std;
int n,m,u,v,vis[N];
char c[N];
vector<pair<int,int>> f[N];
void dfs(int x,char cc){
    vis[x]=1;
    for(int i=0;i<f[x].size();i++){
        if(vis[f[x][i].first]==0){
            c[f[x][i].second]=cc;
            if(cc=='R') dfs(f[x][i].first,'B');
            else dfs(f[x][i].first,'R');
        }
    }
    return ;
}
int main(){
    freopen("paintoads.in","r",stdin);
    freopen("paintoads.out","w",stdout);
    cin>>n>>m;
    for(int i=1;i<=m;i++){
        cin>>u>>v;
        f[u].push_back({v,i});
        f[v].push_back({u,i});
        c[i]='G';
    }
    for(int i=1;i<=n;i++)
    if(vis[i]==0) dfs(i,'R');
    for(int i=1;i<=m;i++) cout<<c[i];
    return 0;
}