如果发现广告等破坏行为,请尽量将条目恢复到较早的版本而不是把相应内容直接删除,谢谢合作。

URAL/1320

来自"NOCOW"

跳转到: 导航, 搜索

并查集。

#include <cstdio>
#include <cstdlib>
int x,y,a,b,f[1010],c[1010]={0};
int find(int x)
{
    if (f[x] == x)  return x;
    return f[x]=find(f[x]);
}
int main()
{
    for (int i=1;i<=1000;f[i]=i++);
    while (scanf("%d%d",&x,&y) != EOF)
    {
        a=find(x);
        b=find(y);
        if (a != b)
        {
            c[b]+=c[a];
            f[a]=b;
        }
        ++c[b];
    }
    for (int i=1;i<=1000;++i)
        if ((f[i] == i) && (c[i]&1))
        {
            printf("0\n");
            return 0;
        }
    printf("1\n");
    return 0;
}
//by zzy
个人工具