• <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 1125 Stockbroker Grapevine

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

            思路:
            題意還是蠻簡(jiǎn)單的,第一次寫(xiě)Floyd-Warshall算法求每對(duì)頂點(diǎn)間的最短距離

            代碼:
             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 閱讀(231) 評(píng)論(0)  編輯 收藏 引用 所屬分類: F_圖算法

            導(dǎo)航

            <2010年9月>
            2930311234
            567891011
            12131415161718
            19202122232425
            262728293012
            3456789

            統(tǒng)計(jì)

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            国产精品久久自在自线观看| 一本色道久久88精品综合| 久久亚洲高清观看| 国产精品伊人久久伊人电影| 久久久久人妻一区精品果冻| 久久AV无码精品人妻糸列| 成人国内精品久久久久一区| 色天使久久综合网天天| 91精品国产综合久久久久久 | 精品国产青草久久久久福利| 久久精品无码专区免费青青| 久久有码中文字幕| 99久久精品午夜一区二区 | 久久久久久曰本AV免费免费| 91精品国产高清91久久久久久 | 久久青青草原国产精品免费 | AV无码久久久久不卡网站下载 | 精品无码久久久久国产动漫3d| 国产V亚洲V天堂无码久久久| 久久久国产视频| 久久这里只有精品久久| 成人国内精品久久久久一区| 久久精品国产色蜜蜜麻豆| 午夜精品久久久久久| 91久久福利国产成人精品| 久久国产亚洲精品无码| 亚洲午夜久久久久久久久电影网| 国产精品嫩草影院久久| 国产精品天天影视久久综合网| 久久精品国产久精国产果冻传媒| 久久精品18| 欧美粉嫩小泬久久久久久久| 狠狠久久综合伊人不卡| 精品视频久久久久| 国产精品热久久毛片| 国产午夜福利精品久久| 99热精品久久只有精品| 伊人色综合久久天天| 久久播电影网| 一本色道久久88综合日韩精品| 精品久久久久久久国产潘金莲|