记录编号 608631 评测结果 AAAAAAWWWAAAAAAAAAAAAAAAAAAAAWAAAAAAAAWWWWWWWWWWWA
题目名称 4183.彩色道路 最终得分 70
用户昵称 Gravatar会挽弯弓满月 是否通过 未通过
代码语言 C++ 运行时间 2.901 s
提交时间 2025-10-28 15:28:47 内存使用 10.64 MiB
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
const int N=2e5+10;
struct node{
	int to,nxt,id;
}e[N<<1];
int h[N],tot;
void add(int u,int v,int id){
	e[++tot]={v,h[u],id};
	h[u]=tot;
	return;
}
int n,m;
bool vis[N];
int co[N];
void dfs(int u,int color){
	vis[u]=1;
	int v,id;
	for(int i=h[u];i;i=e[i].nxt){
		v=e[i].to;id=e[i].id;
		if(vis[v]) continue;
		co[id]=color;
		dfs(v,color^1);
	}
	return;
}
void solve(){
	memset(co,-1,sizeof(co));
	for(int i=1;i<=n;i++){
		if(vis[i]) continue;
		dfs(i,0);
	}
	for(int i=1;i<=m;i++){
		if(co[i]==0) putchar('B');
		else if(co[i]==1) putchar('R');
		else putchar('G');
	}
	return;
}
int main(){
	freopen("paintoads.in","r",stdin);
	freopen("paintoads.out","w",stdout);
	scanf("%d%d",&n,&m);
	int u,v;
	for(int i=1;i<=m;i++){
		scanf("%d%d",&u,&v);
		add(u,v,i);add(v,u,i);
	}
	solve();
	return 0;
}