hdu 1272 小希的迷宫

来源:互联网 发布:mac系统实用软件 编辑:程序博客网 时间:2024/05/16 11:22
#include<stdio.h>const int _=100000+5;int bin[_],vis[_];int _find(int x){    while(x!=bin[x]) x=bin[x];    return x;}void intt(){    int i;    for(i=1; i<_; i++)    {        bin[i]=i;        vis[i]=0;    }}int main(){    int i,x,y,flag=1,ans;    intt();    while(~scanf("%d%d",&x,&y))    {        if(x==-1&&-1==y) break;        else if(0==x&&0==y)        {           if(flag==0) printf("No\n");            else            {                ans=0;                for(i=1; i<_; i++)                {                    if(vis[i]&&bin[i]==i) ans++;                }                if(ans>1) printf("No\n");                else printf("Yes\n");            }            flag=1;            intt();        }        else        {            vis[x]=1,vis[y]=1;            int fy=_find(y),fx=_find(x);            if(fy==fx) flag=0;            else if(fy>fx) bin[fy]=fx;            else bin[fx]=fy;        }    }    return 0;}
0 0