• <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 閱讀(239) 評論(0)  編輯 收藏 引用 所屬分類: F_圖算法

            導(dǎo)航

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

            統(tǒng)計

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            久久综合狠狠综合久久综合88| 国内精品久久久久久久影视麻豆| 久久久国产精品| 色8激情欧美成人久久综合电| 日韩影院久久| 久久中文字幕一区二区| 香蕉久久久久久狠狠色| 99久久777色| 久久精品人妻中文系列| 久久亚洲私人国产精品vA| 国产精品国色综合久久| 亚洲午夜无码AV毛片久久| 国产麻豆精品久久一二三| 亚洲精品高清一二区久久| 国产精品久久毛片完整版| 中文字幕无码久久人妻| 91秦先生久久久久久久| 久久无码人妻一区二区三区 | 久久福利青草精品资源站免费| 精品视频久久久久| 久久免费国产精品一区二区| 一本久久知道综合久久| 国产精品一区二区久久国产| 久久久久人妻精品一区二区三区 | 久久亚洲中文字幕精品一区四| 91久久九九无码成人网站| 免费观看成人久久网免费观看| 日韩亚洲欧美久久久www综合网| 亚洲精品乱码久久久久久自慰| 久久se精品一区二区| 精品免费tv久久久久久久| 99久久精品国产一区二区| 久久这里都是精品| 久久久久国产视频电影| www.久久热.com| 久久人爽人人爽人人片AV| 区久久AAA片69亚洲| 无码任你躁久久久久久久| 久久精品成人免费网站| 青春久久| 色欲av伊人久久大香线蕉影院|