题目:[P2024]
蒟蒻求调 全部RE
代码如下 感谢帮助
#include <bits/stdc++.h>
using namespace std;
int fa[3000010];
int find(int x){
if(x!=fa[x]){
fa[x]=find(fa[x]);
}
return fa[x];
}
int unity(int x, int y){
int r1=find(fa[x]);
int r2=find(fa[y]);
fa[r1]=r2;
}
int main(){
int n,k;
int ans=0;
scanf("%d%d",&n,&k);
for(int i=1;i<=3*n;i++){
fa[i]=i;
}
for(int i=1;i<=k;i++){
int x,y,z;
scanf("%d%d%d",&z,&x,&y);
if(x>n||y>n){
ans++;
continue;
}else{
if(z==1){
if(find(x+n)==find(y)||find(x+2*n)==find(y)){
ans++;
}else{
unity(x,y);
unity(x+n,y+n);
unity(x+2*n,y+2*n);
}
}
else{
if(x==y||find(x)==find(y)||find(x+2*n)==find(y)){
ans++;
}else{
unity(x,y+2*n);
unity(x+n,y);
unity(x+2*n,y+n);
}
}
}
}
printf("%d",ans);
return 0;
}