RE?样例不过
查看原帖
RE?样例不过
1029575
Alg_orithm楼主2024/8/14 17:17

本蒻蒟太菜了,写的程序样例不知为何都过不了,求各位dalao求条 ORZ

#include<bits/stdc++.h>
using namespace std;
int f[30010];
//对于每种生物:设 x 为本身,x+n 为猎物,x+2*n 为天敌
int fi(int k)
{
	if(f[k]!=k)
		f[k]=fi(k);
	return f[k];
}
void un(int a,int b)
{
	f[fi(f[a])]=fi(f[b]);
}
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	long long ans=0,n,k,i,j,x,y,z;
	cin>>n>>k;
	for(i=1;i<=3*n;i++)
		f[i]=i;
	for(i=1;i<=k;i++)
	{
		cin>>z>>x>>y;
		if(x>n||y>n)
		{
			ans++;
			continue;
		}
		if(z==1)
		{
			if(fi(x+n)==fi(y)||fi(x+n*2)==fi(y))
			{
				ans++;
				continue;
			}
			un(x,y);
			un(x+n,y+n);
			un(x+n*2,y+n*2);
		}
		if(z==2)
		{
			if(x==y||fi(x)==fi(y)||fi(x+n*2)==fi(y))
			{
				ans++;
				continue;
			}
			un(x,y+2*n);
			un(x+n,y);
			un(x+2*n,y+n);
		}
	}
	cout<<ans;
	return 0;
}
2024/8/14 17:17
加载中...