General
 
 
# Author Problem Lang Verdict Time Memory Sent Judged  
187447722 Practice:
DaiRuiChen007
1726D - 32 C++14 (GCC 6-32) Accepted 654 ms 18364 KB 2022-12-31 16:03:35 2022-12-31 16:03:35
→ Source
// LUOGU_RID: 98388332
#include<bits/stdc++.h> 
#define pii pair<int,int>
using namespace std;
const int MAXN=2e5+5;
int dsu[MAXN],dep[MAXN],fa[MAXN];
bool col[MAXN];
vector <pii> G[MAXN];
inline void dfs(int p,int f) {
	for(auto e:G[p]) {
		int v=e.first;
		if(v==f) continue;
		dep[v]=dep[p]+1;
		fa[v]=e.second;
		dfs(v,p);
	}
}
inline int find(int x) {
	if(dsu[x]==x) return x;
	return dsu[x]=find(dsu[x]);
}
inline void solve() {
	int n,m,x=0,y=0;
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;++i) dsu[i]=i,G[i].clear();
	set <int> ver;
	vector <int> id;
	for(int i=1;i<=m;++i) {
		int u,v;
		scanf("%d%d",&u,&v);
		int a=find(u),b=find(v);
		if(a==b) {
			ver.insert(u),ver.insert(v);
			if(!id.size()) x=u,y=v;
			col[i]=0,id.push_back(i);
		} else {
			col[i]=1,dsu[a]=b;
			G[u].push_back(make_pair(v,i));
			G[v].push_back(make_pair(u,i));
		}
	}
	dfs(1,0);
	if((int)id.size()==3&&(int)ver.size()==3) {
		col[id[0]]=1;
		if(dep[x]<dep[y]) swap(x,y);
		col[fa[x]]=0;
	}
	for(int i=1;i<=m;++i) printf("%d",col[i]);
	puts("");
}
signed main() {
	int T;
	scanf("%d",&T);
	while(T--) solve();
	return 0;
}
?
Time: ? ms, memory: ? KB
Verdict: ?
Input
?
Participant's output
?
Jury's answer
?
Checker comment
?
Diagnostics
?
Click to see test details