第十三个点WA求助
查看原帖
第十三个点WA求助
740093
SamHe楼主2024/7/23 09:37
#include<bits/stdc++.h>
using namespace std;
int n;
int dx[200010],dy[200010];
vector<int>edge[200010];
bool dis[200010];
int c[200010];
void dfs(int x){
	dis[x]=1;
	for(auto v:edge[x]){
		if(dis[v]){
			continue;
		}
		c[v]=c[x]^1;
		dfs(v);
	}
}
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
	cin>>n;
	for(int i=1;i<=n;i++){
		int x,y;
		cin>>x>>y;
		if(!dx[x]){
			dx[x]=i;
		}
		else{
			edge[i].push_back(dx[i]);
			edge[dx[x]].push_back(i);
			dx[x]=0;
		}
		if(!dy[y]){
			dy[y]=i;
		}
		else{
			edge[i].push_back(dy[i]);
			edge[dy[y]].push_back(i);
			dx[y]=0;
		}
	}
	for(int i=1;i<=n;i++){
		if(!dis[i]){
			dfs(i);
		}
	}
	for(int i=1;i<=n;i++){
		if(!c[i]){
			cout<<'b';
		}
		else{
			cout<<'r';
		}
	}
    cout<<endl;
	return 0;
}

2024/7/23 09:37
加载中...