• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            M.J的blog

            algorithm,ACM-ICPC
            隨筆 - 39, 文章 - 11, 評論 - 20, 引用 - 0
            數(shù)據(jù)加載中……

            POJ The Suspects(并查集)

            又是一個并查集,題意大概是N個學(xué)生,學(xué)生0是SARS疑似,學(xué)生分為M組,一個學(xué)生可以屬于不同組,只要和疑似學(xué)生在一組,自己也就成了疑似,問最后又多少學(xué)生是疑似病例。
            Code:

             1 #include<stdio.h>
             2 #define MAX 30002
             3 int m,n;
             4 struct type
             5 {
             6     int father,v;
             7 }a[MAX];
             8 void initial(int n)
             9 {
            10     int i;
            11     for(i=0;i<n;i++){
            12         a[i].father=i;
            13         a[i].v=1;
            14     }
            15 }
            16 int find(int n)
            17 {
            18     if(a[n].father!=n)
            19         return find(a[n].father);
            20     return n;
            21 }
            22 void Union(int root1,int root2)
            23 {
            24     int t1,t2;
            25     t1=find(root1);
            26     t2=find(root2);
            27     if(t1==t2) return ;
            28     if(t1!=t2){
            29         if(a[t1].v<a[t2].v){
            30             a[t1].father=t2;
            31             a[t2].v+=a[t1].v;
            32         }
            33         else{
            34             a[t2].father=t1;
            35             a[t1].v+=a[t2].v;
            36         }
            37     }
            38 }
            39 int main()
            40 {
            41     int cas,i,j,k,p,q,N,M;
            42     while(scanf("%d%d",&N,&M)!=EOF){
            43         if(N==0&&M==0break;
            44         initial(N);
            45         for(i=1;i<=M;i++){
            46             scanf("%d",&k);
            47             scanf("%d",&p);
            48             for(j=2;j<=k;j++){
            49                 scanf("%d",&q);
            50                 Union(p,q);
            51             }
            52         }
            53         k=find(0);
            54         printf("%d\n",a[k].v);
            55     }
            56     
            57 
            58 }

            posted on 2010-04-24 15:06 M.J 閱讀(173) 評論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久这里只有精品首页| 日韩欧美亚洲综合久久影院d3| 亚洲人成无码网站久久99热国产| 亚洲精品久久久www| 成人国内精品久久久久影院| 久久久久国产视频电影| 国内精品综合久久久40p| 亚洲国产精品久久久久久| 亚洲午夜无码AV毛片久久| 国内精品久久人妻互换| 欧美日韩精品久久久久| 久久午夜福利电影| 亚洲欧美日韩久久精品| 久久久久综合网久久| 精品人妻伦九区久久AAA片69| 精品久久久久久久久中文字幕| 亚洲国产精品成人AV无码久久综合影院 | 亚洲美日韩Av中文字幕无码久久久妻妇 | 国产精品久久精品| 色欲av伊人久久大香线蕉影院| 国产亚州精品女人久久久久久| 精品国产乱码久久久久久1区2区| 久久91精品国产91久| 欧美国产精品久久高清| 精品国产综合区久久久久久| 99久久久精品免费观看国产| 亚洲精品乱码久久久久久蜜桃图片| 伊人色综合久久| 国产精品一久久香蕉国产线看| 亚洲AV日韩精品久久久久久久| 久久久久99这里有精品10| 久久精品国产一区二区| 久久夜色撩人精品国产| 久久综合狠狠综合久久97色| 久久精品18| 青青热久久国产久精品| 亚洲国产精品无码久久青草 | 色天使久久综合网天天| 国产99久久久国产精品小说| 久久久久亚洲AV无码观看| 欧美熟妇另类久久久久久不卡 |