数据过水,请求增加hack数据
查看原帖
数据过水,请求增加hack数据
798043
Ehuo_ovo楼主2023/7/10 17:33

如下AC代码,hack数据如下:

4
3
E 1 2
E 1 3
E 1 4

正解为2,此ac代码结果为3。

#include<bits/stdc++.h>
using namespace std;
int n,m,fa[5005],cnt;
int enm[2005];
int find(int k)
{
	if(fa[k]==k) return k;
	else return fa[k]=find(fa[k]);
}
int main()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=2*n;i++) fa[i]=i;
	for(int i=1;i<=m;i++)
	{
		char type;
		int a,b;
		cin>>type;
		scanf("%d%d",&a,&b);
		if(type=='E')
		{
			if(enm[a]==0)
			{
				enm[a]=b;
			}
			else
			{
				fa[find(b)]=find(enm[a]);
				enm[a]=0;
			}
			
			if(enm[b]==0)
			{
				enm[b]=a;
			}
			else
			{
				fa[find(a)]=find(enm[b]);
				enm[b]=0;
			}
		}
		else
		{
			fa[find(a)]=find(b);
		}
	}
	
	for(int i=1;i<=n;i++)
	{
		if(fa[i]==i) cnt++;
	}
	printf("%d",cnt);
	return 0;
}
2023/7/10 17:33
加载中...