P2024求解释
  • 板块题目总版
  • 楼主lnquoein
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/10/12 19:56
  • 上次更新2024/10/12 21:45:16
查看原帖
P2024求解释
1278204
lnquoein楼主2024/10/12 19:56

题目:[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;
}
2024/10/12 19:56
加载中...