• <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>

            A Za, A Za, Fighting...

            堅(jiān)信:勤能補(bǔ)拙

            PKU 1611 The Suspects

            問(wèn)題:
            http://acm.pku.edu.cn/JudgeOnline/problem?id=1611

            思路:
            話說(shuō)是最基礎(chǔ)的并查集,每個(gè)分支的根節(jié)點(diǎn)賦予該分支節(jié)點(diǎn)個(gè)數(shù)的相反數(shù),妙...

            代碼:
             1 #include<stdio.h>
             2 #include<stdlib.h>
             3 #include<string.h>
             4 #define MAX_LEN 30001
             5 int parent[MAX_LEN];
             6 
             7 void
             8 init(int size)
             9 {
            10     int i;
            11     for(i=0; i<size; i++)
            12         parent[i] = -1;
            13 }
            14 
            15 int
            16 find(int item)
            17 {
            18     int tmp, root = item;
            19     while(parent[root] >= 0)
            20         root = parent[root];
            21     while(item != root) {
            22         tmp = parent[item];
            23         parent[item] = root;
            24         item = tmp;
            25     }
            26     return root;
            27 }
            28 
            29 void
            30 uunion(int item1, int item2)
            31 {
            32     int root1 = find(item1);
            33     int root2 = find(item2);
            34     if(root1 != root2) {
            35         if(parent[root1] < parent[root2]) { /* tree with 'root1' has more nodes */
            36             parent[root1] += parent[root2];
            37             parent[root2] = root1;
            38         } else {
            39             parent[root2] += parent[root1];
            40             parent[root1] = root2;
            41         }
            42     }
            43 }
            44 
            45 int
            46 main(int argc, char **argv)
            47 {
            48     int n, m, gp, i, j, r, stu;
            49     while(scanf("%d %d"&n, &m)!=EOF) {
            50         if(n==0 && m==0)
            51             break;
            52         init(n);
            53         for(i=0; i<m; i++) {
            54             scanf("%d"&gp);
            55             for(j=0; j<gp; j++) {
            56                 scanf("%d"&stu);
            57                 if(j==0)
            58                     r = stu;
            59                 else
            60                     uunion(r, stu);
            61             }
            62         }
            63         printf("%d\n"-parent[find(0)]);
            64     }
            65 }

            posted on 2010-08-07 21:51 simplyzhao 閱讀(128) 評(píng)論(0)  編輯 收藏 引用 所屬分類: E_數(shù)據(jù)結(jié)構(gòu)

            導(dǎo)航

            <2010年8月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            統(tǒng)計(jì)

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久99精品久久久久久久不卡| 99久久精品国内| 中文国产成人精品久久亚洲精品AⅤ无码精品| 久久综合综合久久狠狠狠97色88| 91久久福利国产成人精品| 午夜视频久久久久一区| 久久精品中文闷骚内射| 久久97久久97精品免视看秋霞| 久久亚洲AV无码精品色午夜麻豆| 国产精品99久久免费观看| 伊人久久大香线蕉成人| 99久久国产主播综合精品| 久久精品中文字幕一区| 久久激情亚洲精品无码?V| 午夜精品久久久久久中宇| 精品久久人人做人人爽综合| 少妇高潮惨叫久久久久久| 色综合久久天天综线观看| 狠狠精品干练久久久无码中文字幕 | 人妻无码久久精品| 高清免费久久午夜精品| 久久久一本精品99久久精品66| 欧美伊香蕉久久综合类网站| 99久久无色码中文字幕人妻 | 久久只有这精品99| 国内精品免费久久影院| 88久久精品无码一区二区毛片| 欧洲成人午夜精品无码区久久| 少妇无套内谢久久久久| 亚洲欧美一区二区三区久久| 久久久噜噜噜久久| 久久亚洲天堂| 欧美粉嫩小泬久久久久久久| 久久天天躁狠狠躁夜夜av浪潮 | 国产三级久久久精品麻豆三级| 性做久久久久久久| 色偷偷久久一区二区三区| 色欲久久久天天天综合网精品| 久久久久久亚洲Av无码精品专口 | 久久久黄色大片| 久久人妻无码中文字幕|