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

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>
            亚洲欧美日韩国产中文| 欧美+日本+国产+在线a∨观看| 久久人人爽人人| 欧美成人视屏| 欧美精品一卡| 影音先锋一区| av不卡在线观看| 噜噜爱69成人精品| 欧美色另类天堂2015| 老司机精品视频网站| 欧美一区永久视频免费观看| 欧美日韩亚洲系列| 亚洲精品中文字幕女同| 欧美在线观看一区| 欧美国产先锋| 久久免费国产| 亚洲精品一二三| 亚洲国产欧美国产综合一区| 最新高清无码专区| av不卡在线| 欧美在线资源| 性欧美videos另类喷潮| 国产精品呻吟| 久久国产免费看| 久久噜噜噜精品国产亚洲综合| 国产字幕视频一区二区| 欧美好吊妞视频| 99re6这里只有精品| 一区二区三区精品| 国产综合久久久久久鬼色| 免费一级欧美在线大片| 欧美激情一区二区三区在线视频| 中文高清一区| 麻豆精品网站| 性欧美办公室18xxxxhd| 久久亚洲私人国产精品va| 夜夜嗨av一区二区三区免费区| 亚洲欧美经典视频| 亚洲毛片在线| 美女精品在线观看| 午夜精品在线看| 午夜免费久久久久| 亚洲黄色毛片| 欧美一级淫片播放口| 亚洲美女在线国产| 久久久www| 久久精品卡一| 久久欧美中文字幕| 久久久精品动漫| 国产精品国产三级国产普通话蜜臀| 久久久女女女女999久久| 欧美精品日韩精品| 国产精品免费视频xxxx| 久久久综合香蕉尹人综合网| 国产精品乱码久久久久久| 亚洲美女毛片| 国产一区二区三区av电影| 亚洲免费一级电影| 午夜精品免费视频| 久久国产精品99久久久久久老狼| 久久九九免费| 欧美大片免费| 久久综合九色| 美女露胸一区二区三区| 国产一区观看| 亚洲精品一区二区三区樱花| 91久久精品美女高潮| 欧美国产日本在线| 中文在线资源观看视频网站免费不卡| 亚洲天堂免费在线观看视频| 国产精品久久久久久久7电影| 亚洲欧美在线免费| 欧美在线播放视频| 亚洲国产欧美国产综合一区| 欧美人成在线| 午夜精品久久久久久久久| 欧美一区三区二区在线观看| 黑人巨大精品欧美一区二区| 欧美精品在线观看91| 亚久久调教视频| 夜久久久久久| 欧美激情亚洲自拍| 久久精品一区中文字幕| 亚洲一二三区视频在线观看| 国产一区再线| 国产精品美女久久久久av超清| 亚洲激情午夜| 欧美成人激情视频| 国产精品美女在线| 亚洲一二三级电影| 亚洲国产日韩欧美在线图片| 久久亚洲国产成人| 亚洲综合三区| 亚洲一区二区三区四区五区黄| 亚洲国产成人久久综合一区| 久久久久久亚洲综合影院红桃 | 亚洲国产成人久久| 久久人91精品久久久久久不卡| 久久超碰97人人做人人爱| 欧美激情精品久久久| 亚洲国产精品激情在线观看| 亚洲欧洲日本国产| 国产精品激情av在线播放| 欧美日韩一区在线观看| 国产毛片精品国产一区二区三区| 国产在线视频欧美一区二区三区| 精品99一区二区| 亚洲视频福利| 欧美激情91| 亚洲欧美在线播放| 美日韩丰满少妇在线观看| 亚洲精品国产视频| 久久免费精品视频| 午夜久久美女| 国产精品日韩精品| 日韩视频精品在线| 农村妇女精品| 久久精品最新地址| 国产一区二区三区在线观看免费| 亚洲视频在线播放| 亚洲免费观看高清完整版在线观看| 午夜久久资源| 国产在线不卡精品| 久久综合激情| 夜夜爽99久久国产综合精品女不卡| 欧美影院一区| 亚洲欧美日韩综合国产aⅴ| 欧美va天堂va视频va在线| 国内精品久久久久影院优| 久久经典综合| 久久尤物视频| 99精品99久久久久久宅男| 91久久在线播放| 欧美三日本三级三级在线播放| 99综合视频| 午夜日韩在线| 亚洲国产专区校园欧美| 亚洲精品一区在线观看| 欧美三区美女| 麻豆av一区二区三区| 欧美高清视频免费观看| 久久精品国产精品| 99v久久综合狠狠综合久久| 亚洲网站在线观看| 国产综合精品| 久久久蜜桃精品| 欧美精品在线观看| 久久久久高清| 国产精品国产三级国产aⅴ入口| 久久精品欧美日韩| 国产精品国产a| 91久久久亚洲精品| 在线观看日韩av电影| 亚洲视频欧美视频| 亚洲高清免费| 久久精品视频在线| 亚洲欧美精品中文字幕在线| 久久综合狠狠综合久久综合88| 亚洲免费视频网站| 久久最新视频| 久久资源av| 国模一区二区三区| 亚洲欧美日韩国产| 亚洲视频第一页| 欧美日韩三区| 夜夜爽99久久国产综合精品女不卡| 亚洲国产精品久久91精品| 久久只精品国产| 欧美激情亚洲自拍| 黄色av一区| 欧美成人一区在线| 在线欧美日韩| 欧美激情日韩| av成人免费在线观看| 午夜电影亚洲| 一区二区三区在线免费观看| 久久久999精品免费| 亚洲高清av在线| 一区二区三区四区蜜桃| 国产精品视频午夜| 久久精品国产99精品国产亚洲性色| 午夜视频在线观看一区| 国产日韩精品在线观看| 久久婷婷av| 亚洲美洲欧洲综合国产一区| 亚洲一区二区三区四区五区午夜| 欧美激情精品久久久久| 亚洲清纯自拍| 国产一区二区高清| 久热精品在线| 欧美一站二站| 欧美精品播放| 在线一区观看| 久久国产欧美| 日韩亚洲视频在线| 国产精品国产三级国产aⅴ无密码| 亚洲网站在线| 亚洲黄网站在线观看| 午夜精品久久久久久久99水蜜桃| 欧美日韩国产高清|