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

            堅信:勤能補拙

            PKU 1125 Stockbroker Grapevine

            問題:
            http://acm.pku.edu.cn/JudgeOnline/problem?id=1125

            思路:
            題意還是蠻簡單的,第一次寫Floyd-Warshall算法求每對頂點間的最短距離

            代碼:
             1 /* Floyd-Warshall algorithm */
             2 #include<stdio.h>
             3 #include<stdlib.h>
             4 #include<string.h>
             5 #define MAX_N 101
             6 #define INF 0x7FFFFFFF
             7 #define Min(a,b) ((a)<(b) ? (a) : (b))
             8 #define Max(a,b) ((a)<(b) ? (b) : (a))
             9 int weight[MAX_N][MAX_N];
            10 int d[MAX_N][MAX_N];
            11 int max[MAX_N];
            12 int n;
            13 
            14 void
            15 init()
            16 {
            17     int i, j, cnt, t, c;
            18     memset(weight, 0sizeof(weight));
            19     for(i=1; i<=n; i++) {
            20         scanf("%d"&cnt);
            21         for(j=0; j<cnt; j++) {
            22             scanf("%d %d"&t, &c);
            23             weight[i][t] = c;
            24         }
            25     }
            26 }
            27 
            28 void
            29 floyd_warshall() /* O(n^3) */
            30 {
            31     int i, j, k;
            32     for(i=1; i<=n; i++)
            33         for(j=1; j<=n; j++)
            34             d[i][j] = (i==j?0:INF);
            35     for(i=1; i<=n; i++)
            36         for(j=1; j<=n; j++)
            37             if(weight[i][j])
            38                 d[i][j] = weight[i][j];
            39     for(k=1; k<=n; k++) {
            40         for(i=1; i<=n; i++) {
            41             for(j=1; j<=n; j++) {
            42                 if(d[i][k]!=INF && d[k][j]!=INF)
            43                     d[i][j] = Min(d[i][j], d[i][k]+d[k][j]);
            44             }
            45         }
            46     }
            47 }
            48 
            49 void
            50 output()
            51 {
            52     int i, j, p, rt;
            53     memset(max, 0sizeof(max));
            54     rt = INF;
            55     for(i=1; i<=n; i++) {
            56         for(j=1; j<=n; j++)
            57             if(i!=j) {
            58                 max[i] = Max(max[i], d[i][j]);
            59             }
            60         if(max[i] < rt) {
            61             rt = max[i];
            62             p = i;
            63         }
            64     }
            65     if(rt == INF)
            66         printf("disjoint\n");
            67     else
            68         printf("%d %d\n", p, rt);
            69 }
            70 
            71 int
            72 main(int argc, char **argv)
            73 {
            74     while(scanf("%d"&n)!=EOF && n) {
            75         init();
            76         floyd_warshall();
            77         output();
            78     }
            79 }

            posted on 2010-09-11 21:37 simplyzhao 閱讀(232) 評論(0)  編輯 收藏 引用 所屬分類: F_圖算法

            導(dǎo)航

            <2010年10月>
            262728293012
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            統(tǒng)計

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            无码人妻久久一区二区三区免费丨| 99久久久精品| 国产精品99久久久久久宅男小说| 影音先锋女人AV鲁色资源网久久 | 国产成人久久精品一区二区三区| 久久香蕉国产线看观看精品yw| 国产成人久久久精品二区三区| 青青草原综合久久大伊人| 久久99精品国产一区二区三区| 久久亚洲国产成人影院网站| 久久亚洲私人国产精品vA| 亚洲国产成人精品无码久久久久久综合| 久久精品中文字幕一区| 久久国产精品偷99| 久久精品欧美日韩精品| 久久只有这精品99| 久久精品二区| 伊人色综合久久天天| 无码国内精品久久人妻| 色综合久久88色综合天天 | 久久免费高清视频| 久久久久亚洲Av无码专| 亚洲AV日韩精品久久久久久| 久久精品成人欧美大片| 国产精自产拍久久久久久蜜| 国内精品久久久久影院免费| 天天爽天天狠久久久综合麻豆| 久久久久久亚洲精品影院| 午夜福利91久久福利| 热RE99久久精品国产66热| 久久久久99精品成人片三人毛片| 久久久青草久久久青草| 日韩精品久久久久久| 91精品国产91久久| 久久精品无码一区二区日韩AV| 国产福利电影一区二区三区久久老子无码午夜伦不 | 久久久久亚洲精品天堂久久久久久 | 中文字幕成人精品久久不卡| 7国产欧美日韩综合天堂中文久久久久| 91久久婷婷国产综合精品青草| 人人狠狠综合久久亚洲88|