• Dragon Balls HDU


    Dragon Balls

    HDU - 3635
    题意:转移小球.
    并查集.
     1 #include<cstdio>
     2 #include<cstring>
     3 const int maxn=10010;
     4 int f[maxn],ct[maxn],trans[maxn];
     5 int n,m;
     6 void init()
     7 {
     8     for(int i=0;i<=n;i++)
     9     {
    10         f[i]=i;
    11         ct[i]=1;
    12         trans[i]=0;
    13     }
    14 }
    15 
    16 int gf(int x)
    17 {
    18     if(x!=f[x])
    19     {
    20         int t=f[x];
    21         f[x]=gf(t);
    22         trans[x]+=trans[t];
    23 
    24     }
    25     return f[x];
    26 }
    27 
    28 void uni(int a,int b)
    29 {
    30     int pa=gf(a);
    31     int pb=gf(b);
    32     if(pa!=pb)
    33     {
    34         f[pa]=pb;
    35         trans[pa]++;
    36         ct[pb]+=ct[pa];
    37     }
    38 }
    39 int main()
    40 {
    41     int t;
    42     char s[5];
    43     int u,v;
    44     int cas=1;
    45     scanf("%d",&t);
    46     while(t--)
    47     {
    48         printf("Case %d:
    ",cas++);
    49         scanf("%d%d",&n,&m);
    50         init();
    51         for(int i=0;i<m;i++)
    52         {
    53             scanf("%s",s);
    54             if(s[0]=='T')
    55             {
    56                 scanf("%d%d",&u,&v);
    57                 uni(u,v);
    58             }
    59             else
    60             {
    61                 scanf("%d",&u);
    62                 gf(u);
    63                 printf("%d %d %d
    ",f[u],ct[f[u]],trans[u]);
    64             }
    65         }
    66     }
    67 }
    View Code
  • 相关阅读:
    j2EE(转)
    java_jdbc
    Java_pom(转)
    Java 特性
    mybatis-plus一些通用方法
    synchronized和lock的区别和使用
    JQGrid之文件上传
    项目调试Bug集锦(更新中)
    SpringMVC的流程
    Java小白进阶之值传递-引用传递
  • 原文地址:https://www.cnblogs.com/yijiull/p/6789227.html
Copyright © 2020-2023  润新知