• <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 閱讀(164) 評論(0)  編輯 收藏 引用

            久久精品国产精品亚洲精品 | 久久WWW免费人成—看片| 久久久婷婷五月亚洲97号色 | 99久久久国产精品免费无卡顿| 久久福利青草精品资源站| 久久久久国产一级毛片高清板| 国产精品99久久久精品无码| 国产成人精品免费久久久久| 思思久久好好热精品国产| 久久亚洲欧美日本精品| 国产成人精品久久| 久久亚洲欧洲国产综合| 久久精品?ⅴ无码中文字幕| 久久91精品国产91久久麻豆 | 久久精品国产第一区二区| 久久精品这里热有精品| 久久免费精品一区二区| 亚洲AV无码久久精品成人| 欧洲精品久久久av无码电影| 精品久久人人爽天天玩人人妻| 7777久久久国产精品消防器材| 人妻精品久久久久中文字幕| 久久久久无码国产精品不卡| 久久久久亚洲AV成人网人人软件| 久久免费小视频| 欧美精品一区二区久久| 久久天天躁夜夜躁狠狠| 精品亚洲综合久久中文字幕| 国产精品亚洲综合专区片高清久久久 | 色天使久久综合网天天| 91精品日韩人妻无码久久不卡 | 99久久777色| 怡红院日本一道日本久久 | 久久久久久噜噜精品免费直播| 色偷偷88欧美精品久久久| 亚洲色婷婷综合久久| 久久99国产精品久久99果冻传媒| 亚洲精品高清一二区久久| 国产精品99久久久精品无码| 国产激情久久久久影院小草| 久久综合久久综合九色|