青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

A Za, A Za, Fighting...

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

PKU 2263 Heavy Cargo

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

思路:
這題,我自己的想法是更像DP,設(shè)源點(diǎn)是source,d[i]表示從source到頂點(diǎn)i的每條路徑中的最小值的最大值,即該題要求的結(jié)果
                   d[i] = max (d[i],  min(d[k], adj[k][i])),其中頂點(diǎn)k是從source到頂點(diǎn)i的路徑中頂點(diǎn)i的前趨
具體編程的話,更像是Dijkstra的方式,只不過這里所有的頂點(diǎn)都必須更新

另外,這題還用到了字符串哈希,來將每個頂點(diǎn)用一個整數(shù)表示

代碼:
  1 #include<stdio.h>
  2 #include<stdlib.h>
  3 #include<string.h>
  4 #define MAX_N 201
  5 #define MAX_LEN 31
  6 #define INF 0x7FFFFFFF
  7 #define HASH_LEN 19999
  8 #define Min(a, b) ((a)<(b) ? (a) : (b))
  9 #define Max(a, b) ((a)<(b) ? (b) : (a))
 10 int n, r, hash_val;
 11 int from, to, adj[MAX_N][MAX_N];
 12 int d[MAX_N], in[MAX_N];
 13 struct City{
 14     char name[MAX_LEN];
 15     int num;
 16 } cities[MAX_N];
 17 struct Node {
 18     int index;
 19     struct Node *next;
 20 };
 21 struct Node *hash[HASH_LEN] = {NULL};
 22 
 23 int ELFHash(char *str)
 24 {
 25     unsigned long t, hash = 0;
 26     while(*str) {
 27         hash = (hash<<4+ (*str++);
 28         if((t = hash&0xF0000000L))
 29             hash ^= t>>24;
 30         hash &= ~t;
 31     }
 32     return (hash & 0x7FFFFFFF)%HASH_LEN;
 33 }
 34 
 35 void
 36 insert(int index)
 37 {
 38     struct Node *node = (struct Node *)malloc(sizeof(struct Node));
 39     node->index = index;
 40     node->next = hash[hash_val];
 41     hash[hash_val] = node;
 42 }
 43 
 44 int
 45 search(char *str)
 46 {
 47     struct Node *node = hash[hash_val];
 48     while(node != NULL) {
 49         if(strcmp(str, cities[node->index].name) == 0)
 50             return cities[node->index].num;
 51         node = node->next;
 52     }
 53     return -1;
 54 }
 55 
 56 void
 57 init()
 58 {
 59     int i, j, mark, f, t, c;
 60     char str[MAX_LEN];
 61     memset(hash, 0sizeof(hash));
 62     memset(adj, 0sizeof(adj));
 63     for(j=0, mark=1, i=0; i<r; i++) {
 64         scanf("%s", cities[j].name);
 65         hash_val = ELFHash(cities[j].name);
 66         if((f=search(cities[j].name)) == -1) {
 67             insert(j);
 68             cities[j].num = mark++;
 69             f = cities[j].num;
 70             j++;
 71         }
 72         scanf("%s", cities[j].name);
 73         hash_val = ELFHash(cities[j].name);
 74         if((t=search(cities[j].name)) == -1) {
 75             insert(j);
 76             cities[j].num = mark++;
 77             t = cities[j].num;
 78             j++;
 79         }
 80         scanf("%d"&c);
 81         if(adj[f][t] < c)
 82             adj[f][t] = adj[t][f] = c;
 83     }
 84     scanf("%s", str);
 85     hash_val = ELFHash(str);
 86     from = search(str);
 87     scanf("%s", str);
 88     hash_val = ELFHash(str);
 89     to = search(str);
 90 }
 91 
 92 void
 93 solve()
 94 {
 95     int i, j, k, tmp;
 96     memset(in0sizeof(in));
 97     for(i=1; i<=n; i++)
 98         d[i] = 0;
 99     d[from] = INF;
100     in[from] = 1;
101     for(i=1; i<=n; i++) {
102         if(adj[from][i])
103             d[i] = adj[from][i];
104     }
105 
106     k = n-1;
107     while(k > 0) {
108         for(i=1; i<=n; i++) {
109             if(!in[i] && d[i]!=0) {
110                 for(j=1; j<=n; j++) {
111                     if(adj[i][j]) {
112                         tmp = Min(d[i], adj[i][j]);
113                         d[j] = Max(d[j], tmp);
114                     }
115                 }
116                 in[i] = 1;
117                 --k;
118             }
119         }
120     }
121 }
122 
123 int
124 main(int argc, char **argv)
125 {
126     int tests = 0;
127     while(scanf("%d %d"&n, &r) != EOF) {
128         if(n==0 && r==0)
129             break;
130         init();
131         solve();
132         printf("Scenario #%d\n%d tons\n\n"++tests, d[to]);
133     }
134 }

posted on 2010-09-10 18:54 simplyzhao 閱讀(335) 評論(0)  編輯 收藏 引用 所屬分類: F_圖算法

導(dǎo)航

<2011年5月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

統(tǒng)計(jì)

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            午夜一级在线看亚洲| 日韩天堂在线视频| 一区二区三区在线高清| 你懂的一区二区| 久久综合久久综合这里只有精品| 亚洲视频在线视频| 亚洲综合色丁香婷婷六月图片| 日韩一区二区福利| 亚洲永久字幕| 午夜一级在线看亚洲| 久久久久久久久久久久久女国产乱 | 午夜久久资源| 久久亚洲色图| 欧美日韩精品免费看| 久久久精品视频成人| 欧美成人精品激情在线观看| 免费影视亚洲| 亚洲神马久久| 蜜臀久久久99精品久久久久久| 欧美精品一区二区三区蜜桃| 国产亚洲一级| 日韩午夜精品视频| 久久精品人人做人人爽电影蜜月| 久久久久久久999| 亚洲精选一区二区| 欧美大胆人体视频| 韩国av一区二区| 亚洲欧美电影院| 日韩亚洲视频| 国产精品v一区二区三区| 亚洲日韩中文字幕在线播放| 久久精品国产亚洲a| 国语自产精品视频在线看8查询8| 亚洲婷婷免费| 亚洲专区免费| 国产三级精品三级| 久久久欧美精品| 久久九九99| 亚洲精品中文字| av成人毛片| 国产精品美女久久久浪潮软件 | 欧美中文字幕久久| 国内精品久久久久久久影视蜜臀| 欧美一级专区| 久久精品导航| 亚洲国产日韩欧美在线99| 亚洲电影免费在线观看| 久久久亚洲成人| 久久精品视频播放| 亚洲精品影视| 一本在线高清不卡dvd | 欧美日韩国产区| 午夜精品福利在线| 久热精品视频| 欧美一区二区三区四区视频| 久久野战av| 亚洲欧美日韩精品| 欧美成年人在线观看| 亚洲一区二区在线免费观看视频| 欧美亚洲一区二区在线观看| 亚洲三级网站| 久久国产精品一区二区| 一区二区三区精品| 久久免费国产精品| 久久超碰97中文字幕| 欧美日韩激情网| 欧美激情1区2区3区| 韩日午夜在线资源一区二区| 在线亚洲激情| 亚洲欧美视频| 国产精品久久久久久久久久久久 | 国产亚洲精品自拍| 洋洋av久久久久久久一区| 91久久精品美女高潮| 久热re这里精品视频在线6| 久久蜜臀精品av| 国产亚洲欧洲| 免费视频亚洲| 亚洲欧洲精品一区| 麻豆国产精品va在线观看不卡| 久久久久欧美| 亚洲国产天堂久久综合网| 鲁大师影院一区二区三区| 欧美va亚洲va香蕉在线| 最新热久久免费视频| 欧美日韩在线视频一区二区| 在线亚洲一区| 久久精品国产99精品国产亚洲性色| 国产精品免费视频观看| 久久福利资源站| 亚洲精品视频在线播放| 亚洲欧美制服另类日韩| 国产一区二区三区久久久久久久久| 狂野欧美激情性xxxx欧美| 亚洲免费播放| 欧美成年人视频| 亚洲婷婷综合色高清在线| 国产欧美91| 国产精品久久毛片a| 欧美高清自拍一区| 久久精品av麻豆的观看方式| 日韩视频免费| 亚洲日韩欧美视频一区| 欧美国产日韩在线| 久久久久久久久伊人| 欧美一区亚洲| 亚洲欧美三级伦理| 亚洲免费一级电影| 亚洲视频在线免费观看| 亚洲精品少妇| 亚洲精品在线视频观看| 99在线精品观看| 亚洲毛片视频| 一本色道久久99精品综合| 亚洲丰满在线| 夜夜爽夜夜爽精品视频| 在线日韩av| 亚洲国产欧美另类丝袜| 久久精品欧美日韩| 久久精品色图| 欧美高潮视频| 欧美日韩精品一区二区三区四区| 欧美sm视频| 欧美日韩精品一区二区三区四区| 欧美精品一区二区三区很污很色的 | 久久在线视频在线| 欧美激情黄色片| 一本色道88久久加勒比精品| 亚洲免费视频成人| 久久久久国色av免费观看性色| 久久久一区二区三区| 欧美日韩免费高清一区色橹橹| 国产精品r级在线| 尤物网精品视频| 中文有码久久| 欧美成人中文字幕| 久久gogo国模啪啪人体图| 欧美日韩精品一本二本三本| 国内一区二区三区在线视频| 一本久久综合亚洲鲁鲁| 久久久久久久999| 性亚洲最疯狂xxxx高清| 欧美日韩国产综合在线| 最近中文字幕mv在线一区二区三区四区| 亚洲免费在线电影| 日韩一级片网址| 欧美日韩国产欧美日美国产精品| 韩国精品在线观看| 久久精品一区二区国产| 在线亚洲自拍| 国产精品久久福利| 久久精品亚洲一区| 国产一区二区三区网站| 久久久精品视频成人| 欧美在线二区| 欧美一级视频一区二区| 国内成人在线| 美女黄色成人网| 欧美福利在线观看| 亚洲综合精品| 欧美一区日韩一区| 好吊色欧美一区二区三区视频| 久久久天天操| 欧美xxxx在线观看| 亚洲综合日韩在线| 久久免费视频这里只有精品| 91久久久久久久久久久久久| 亚洲国内欧美| 国产亚洲网站| 99成人免费视频| 依依成人综合视频| 一本色道久久综合亚洲精品不卡| 国产九九精品视频| 亚洲激情欧美| 国产伦精品一区二区三区免费迷| 欧美+亚洲+精品+三区| 欧美午夜性色大片在线观看| 六月婷婷一区| 韩国一区电影| 亚洲欧美国产高清| 在线视频欧美日韩| 欧美电影在线| 欧美国产精品专区| 亚洲第一狼人社区| 亚洲欧美在线网| 久久av一区二区三区漫画| 欧美乱在线观看| 亚洲日韩视频| 99精品国产福利在线观看免费| 久久国产一二区| 乱人伦精品视频在线观看| 国产亚洲欧美另类一区二区三区| 亚洲六月丁香色婷婷综合久久| 亚洲国内精品在线| 久色成人在线| 一本久道久久综合狠狠爱| 亚洲午夜在线| 国产网站欧美日韩免费精品在线观看| 亚洲综合视频网| 久久亚洲电影|