题解:P12041 [USTCPC 2025] 图上交互题2 / Con...tive Minimum Mex Path
ELECTRODE_kaf · · 题解
注意到
若
const ll N=1e5+10;
ll n,m,f[N],bl[N],bcnt;
vector<ll> e0[N],e1[N];
void dfs(ll p){
bl[p]=bcnt;
for(ll i:e1[p]){
if(bl[i]) ctn;
dfs(i);
}
}
int main(){
cin>>n>>m;
rep(i,1,m){
ll u,v;
cin>>u>>v>>f[i];
if(f[i]>1){
cout<<"no";
return 0;
}else if(f[i]==1){
e0[u].pb(v);
e0[v].pb(u);
}else{
e1[u].pb(v);
e1[v].pb(u);
}
}
rep(i,1,n){
if(bl[i]==0){
bcnt++;
dfs(i);
}
}
rep(i,1,n){
for(ll j:e0[i]){
if(bl[i]==bl[j]){
cout<<"no";
return 0;
}
}
}
cout<<"yes\n";
rep(i,1,m) cout<<(f[i]^1)<<' ';
}