→→→ 题目 ←←←
我忘了加continue; 我忘了加continue; 我忘了加continue; 我忘了加continue; 我忘了加continue;
我忘了加continue; 我忘了加continue; 我忘了加continue; 我忘了加continue; 我忘了加continue;
我忘了加continue; 我忘了加continue; 我忘了加continue; 我忘了加continue; 我忘了加continue;
我忘了加continue; 我忘了加continue; 我忘了加continue; 我忘了加continue; 我忘了加continue;
#include <bits/stdc++.h>
using namespace std;
int fat[50001],ran[50001],tot;
int find(int x)
{
if(x==fat[x])
return fat[x];
int y=find(fat[x]);
ran[x]=(ran[x]+ran[fat[x]])%3;
return fat[x]=y;
}
int main()
{
int n,k;
cin>>n>>k;
for(int i=0;i<=n;i++)
fat[i]=i,ran[i]=0;
int re;
int eatx,eaty;
for(int i=0;i<k;i++)
{
cin>>re>>eatx>>eaty;
if((eatx==eaty&&re==2)||eatx>n||eaty>n)
tot++;
else
{
int x1=find(eatx),y1=find(eaty);
if(x1==y1)
{
if((ran[eatx]-ran[eaty]+3)%3!=re-1)
{
tot++;
continue;
}
else continue;
}
fat[x1]=y1;
ran[x1]=(-ran[eatx]+re-1+ran[eaty]+3)%3;
}
}
cout<<tot;
return 0;
}