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

A Za, A Za, Fighting...

堅信:勤能補拙

PKU 2263 Heavy Cargo

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

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

另外,這題還用到了字符串哈希,來將每個頂點用一個整數表示

代碼:
  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_圖算法

導航

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

統計

常用鏈接

留言簿(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精品免费视频| 欧美fxxxxxx另类| 亚洲黄色片网站| 国产综合香蕉五月婷在线| 国产精品v欧美精品v日本精品动漫 | 欧美r片在线| 久久综合伊人| 免费观看成人鲁鲁鲁鲁鲁视频| 免费人成精品欧美精品| 欧美激情区在线播放| 亚洲人成高清| 在线视频你懂得一区| 亚洲欧美怡红院| 久久最新视频| 欧美视频免费看| 狠狠爱综合网| 中国成人黄色视屏| 久久综合给合久久狠狠狠97色69| 欧美激情第3页| 亚洲一区二区在线看| 久久精品国产第一区二区三区最新章节| 久久久爽爽爽美女图片| 欧美三级视频在线观看| 一区二区三区中文在线观看 | 一区二区三区鲁丝不卡| 久久精品123| 亚洲麻豆国产自偷在线| 欧美专区18| 欧美午夜视频| 亚洲精品一区二区三区四区高清| 欧美一区二区在线播放| 99re6热只有精品免费观看 | 99视频精品全国免费| 久久婷婷国产综合国色天香| 国产精品久久看| 日韩视频在线一区二区三区| 久久久久久黄| 亚洲一区二区视频在线观看| 欧美日韩国产91| 久久精品一二三区| 欧美一区二区三区免费在线看| 久久久久久久久久久一区| 亚洲国产精品一区二区www| 亚洲香蕉在线观看| 欧美日韩国产美| 亚洲美女91| 亚洲人午夜精品免费| 性欧美精品高清| 欧美日韩午夜在线| 亚洲高清色综合| 久久尤物视频| 欧美中文在线视频| 国产精品私拍pans大尺度在线| 一区二区国产在线观看| 亚洲高清在线观看| 麻豆成人av| 亚洲精品在线免费| 亚洲激情自拍| 欧美日韩dvd在线观看| 99视频一区二区三区| 亚洲精品极品| 欧美午夜剧场| 久久激情综合| 久久久噜噜噜久久人人看| 影音先锋中文字幕一区二区| 另类成人小视频在线| 免费欧美日韩| 亚洲最新视频在线| 国产精品99久久久久久有的能看| 国产精品a久久久久久| 欧美一区二视频在线免费观看| 亚洲欧美日本国产有色| 国产一区三区三区| 欧美激情在线狂野欧美精品| 欧美精品一区二区三区蜜桃 | 亚洲大胆视频| 欧美巨乳在线| 午夜精品久久久久久久99樱桃 | 久久综合九色综合久99| 亚洲日本乱码在线观看| 99精品欧美一区| 国产欧美一区二区三区沐欲| 久久中文在线| 欧美乱在线观看| 欧美一区二区三区视频免费| 久久久久久久性| 日韩图片一区| 久久久久91| 在线看国产日韩| 亚洲片在线资源| 国产亚洲精品一区二区| 亚洲高清电影| 国产伦精品一区二区三区在线观看 | 午夜宅男欧美| 久久精品一区四区| 一本色道88久久加勒比精品| 亚洲免费中文| 亚洲人久久久| 亚洲欧美成人一区二区三区| 伊人夜夜躁av伊人久久| 亚洲深夜福利视频| 亚洲青涩在线| 久久精品91| 亚洲午夜国产成人av电影男同| 欧美一区二区视频97| 一区二区黄色| 欧美国产日本在线| 免费观看成人www动漫视频| 国产精品久久久久久久免费软件| 欧美福利在线| 狠狠久久婷婷| 亚洲欧美一区二区原创| 一区二区三区日韩精品| 久久久久久精| 久久精品人人做人人爽| 欧美色综合天天久久综合精品| 免费在线视频一区| 国产婷婷色综合av蜜臀av| 亚洲最黄网站| 一本大道久久a久久综合婷婷| 久久精品人人做人人爽| 午夜激情亚洲| 国产精品色婷婷| 亚洲乱码国产乱码精品精可以看 | 国产精品久久网站| 日韩视频久久| 一二美女精品欧洲| 免费成人在线视频网站| 可以看av的网站久久看| 国产亚洲欧美一区二区三区| 亚洲欧美不卡| 欧美一区二区三区视频在线| 国产精品久线观看视频| 在线视频精品一| 亚洲欧美日韩在线一区| 欧美午夜精品理论片a级大开眼界| 亚洲国产精品女人久久久| 亚洲精品少妇| 欧美色大人视频| 一区二区三区色| 亚洲欧美日韩国产中文在线| 欧美日韩国语| 亚洲四色影视在线观看| 亚洲一区不卡| 国产精品一区二区三区四区五区| 亚洲精品免费在线播放| 午夜在线观看免费一区| 欧美日韩不卡在线| 亚洲精品1区2区| 一本色道久久综合狠狠躁篇怎么玩| 欧美国产极速在线| 亚洲精品久久久久久久久久久久久| 亚洲免费av观看| 国产精品jvid在线观看蜜臀| 亚洲免费伊人电影在线观看av| 欧美一区在线看| 在线免费日韩片| 欧美激情在线狂野欧美精品| 99精品欧美一区二区三区| 性8sex亚洲区入口| 在线观看一区视频| 欧美人交a欧美精品| 亚洲欧美视频在线观看| 欧美高清在线一区二区| 亚洲视频电影图片偷拍一区| 国产在线播放一区二区三区| 欧美国产一区二区三区激情无套| 在线一区亚洲| 欧美激情精品久久久久久黑人 | 久久精品国产视频| 亚洲电影在线| 国产精品成人v| 久久女同互慰一区二区三区| 日韩视频在线一区二区三区| 久久久久久久国产| 一本色道久久综合亚洲精品婷婷 | 国产一区二区三区在线免费观看| 女主播福利一区| 亚洲欧美日韩精品久久| 亚洲高清视频的网址| 久久精品亚洲| 亚洲无限av看| 亚洲人成啪啪网站| 国产在线欧美日韩| 欧美性大战久久久久久久| 美女国产精品| 性欧美videos另类喷潮| 一区二区三区你懂的| 亚洲成人在线视频网站| 久久精品视频在线| 午夜久久福利| 亚洲免费在线精品一区| 99re视频这里只有精品| 亚洲第一久久影院| 国内不卡一区二区三区| 国产毛片精品国产一区二区三区| 欧美日韩不卡在线| 欧美美女日韩| 欧美精品一区二区蜜臀亚洲|