162 条题解

  • -1
    @ 2015-10-27 21:40:28

    #include<cstdio>
    #include<cstring>
    int fa[205];
    int find(int x)
    {
    if(fa[x]==x) return x;
    return fa[x]=find(fa[x]);
    }
    void Union(int a,int b)
    {
    if(find(a)!=find(b))
    {
    fa[find(a)]=find(b);
    }
    }
    int main()
    {
    int n,i,j,k,p=0,count=0;
    scanf("%d",&n);
    k=n;
    for(i=1;i<=n;i++) fa[i]=i;
    for(i=1;i<=n;i++)
    {
    int x;
    while(scanf("%d",&x))
    {
    if(x==0) break;
    Union(i,x);
    }
    }
    for(i=1;i<=n;i++)
    {
    k--;
    p=0;
    for(j=i+1;j<=n;j++) if(find(i)==find(j)) k--,p=1;
    if(p) count++;
    }
    n-=count;
    printf("%d",n);
    return 0;
    }

    • @ 2017-10-26 17:08:48

      楼上是个假代码

  • -1
    @ 2013-02-16 10:13:17
    • @ 2013-10-25 20:57:23

      ↑大家不要再点这沙茶的链接了。真的。想要题解?没有。

    • @ 2016-07-29 10:49:52

      只不过是QQ空间而已。。

    • @ 2016-12-01 12:54:21

      差评!

信息

ID
1022
难度
4
分类
图结构 点击显示
标签
递交数
4339
已通过
1992
通过率
46%
被复制
15
上传者