标签:can void put space using names des nbsp string
100 7 1 101 1 2 1 2 2 2 3 2 3 3 1 1 3 2 3 1 1 5 5Sample Output
3
#include<stdio.h> #include<algorithm> #include<iostream> #include<string.h> using namespace std; int fa[50110]; int rel[50110]; int N; void init() { for(int i=0;i<=N+3;i++) { fa[i]=i; rel[i]=0; } } int find(int x) { if(x!=fa[x]) { int fx=find(fa[x]); rel[x]=(rel[x]+rel[fa[x]])%3; fa[x]=fx; } return fa[x]; } int main() { int k; scanf("%d%d",&N,&k); init(); int d,X,Y; int s=0; for(int i=1;i<=k;i++) { scanf("%d%d%d",&d,&X,&Y); if(X>N||Y>N) { s++; continue; } if(d==2&&X==Y) { s++; continue; } int a=find(X); int b=find(Y); if(a==b) { if(d-1!=(rel[Y]-rel[X]+3)%3) s++; } else { fa[b]=a; rel[b]=(rel[X]+d-1+(3-rel[Y]))%3; } } printf("%d",s); return 0; }
标签:can void put space using names des nbsp string
原文地址:http://www.cnblogs.com/xzxj/p/7236398.html