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

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>
            免费亚洲电影在线| 午夜精品在线| 欧美色综合天天久久综合精品| 欧美与黑人午夜性猛交久久久| 亚洲欧美日韩精品在线| 在线观看免费视频综合| 狠狠色噜噜狠狠色综合久| 国内视频精品| 亚洲三级视频| 野花国产精品入口| 亚洲女ⅴideoshd黑人| 欧美一区二区视频免费观看| 久久香蕉国产线看观看网| 欧美成人福利视频| 99国产精品| 欧美怡红院视频| 看片网站欧美日韩| 亚洲欧美一区二区三区在线 | 免费短视频成人日韩| 美女免费视频一区| 亚洲国产精选| 9l视频自拍蝌蚪9l视频成人| 性久久久久久久久| 欧美成人亚洲成人| 国产日韩精品一区| 99精品国产一区二区青青牛奶 | 一区二区三区色| 久久久久久亚洲精品不卡4k岛国| 久热精品视频在线| 亚洲视频中文| 老色鬼久久亚洲一区二区| 欧美视频网站| 最新国产乱人伦偷精品免费网站| 午夜欧美大尺度福利影院在线看| 久久最新视频| 亚洲欧美日本在线| 欧美大片一区| 亚洲欧美视频在线| 欧美视频日韩视频在线观看| 亚洲黄色免费网站| 久久不见久久见免费视频1| 亚洲国产欧美一区二区三区久久| 香蕉免费一区二区三区在线观看 | 欧美ab在线视频| 国产欧美在线| 亚洲欧美影音先锋| 亚洲免费av观看| 欧美91大片| 在线观看成人av| 欧美一区三区三区高中清蜜桃| 亚洲国产精品成人综合色在线婷婷| 午夜免费在线观看精品视频| 国产精品毛片| 亚洲小视频在线观看| 亚洲高清中文字幕| 久久国产精品99国产精| 国产伦精品一区| 亚洲免费伊人电影在线观看av| 亚洲欧洲精品成人久久奇米网| 久久中文字幕导航| 亚洲国产高清一区| 欧美激情按摩| 欧美激情四色| 中日韩美女免费视频网站在线观看| 欧美国产另类| 免费试看一区| 这里只有视频精品| 夜夜嗨av一区二区三区中文字幕 | 久久99伊人| 在线亚洲一区观看| 欧美日韩美女| 亚洲欧美日韩直播| 亚洲欧美日韩电影| 国产精品久久综合| 久久九九精品99国产精品| 午夜视频久久久| 国产在线精品自拍| 牛牛精品成人免费视频| 免费一级欧美片在线观看| 亚洲伦伦在线| 一区二区三区精品国产| 国产免费成人在线视频| 久久精品国产久精国产爱| 久久精品国产第一区二区三区最新章节 | 亚洲开发第一视频在线播放| 欧美日韩国产一区二区三区地区 | 亚洲午夜未删减在线观看| 亚洲午夜在线| 国产在线精品自拍| 亚洲日韩视频| 国产欧美一区二区视频| 欧美风情在线| 国产精品天天看| 欧美成年视频| 国产乱码精品一区二区三区不卡 | 午夜精品久久久久久久久久久| 韩国精品一区二区三区| 亚洲美女视频在线观看| 国产欧美一区二区三区视频| 亚洲大胆人体视频| 国产精品午夜电影| 亚洲国产欧美不卡在线观看| 国产亚洲欧洲一区高清在线观看 | 亚洲黄色影片| 亚洲免费在线观看视频| 亚洲福利在线观看| 亚洲男女自偷自拍图片另类| 亚洲精品乱码久久久久久| 亚洲欧美日韩精品久久久| 亚洲毛片在线看| 久久亚洲不卡| 久久激情五月丁香伊人| 欧美精品久久天天躁| 久久精品人人做人人爽电影蜜月 | 久久成人国产精品| 一区二区免费在线视频| 久久伊人精品天天| 久久国产精品久久精品国产 | 欧美在线视频免费观看| 欧美乱妇高清无乱码| 亚洲第一在线综合网站| 亚洲一线二线三线久久久| 91久久在线观看| 久久国产精品99国产精| 久久久精品tv| 国产欧美精品一区aⅴ影院| 日韩视频免费观看高清完整版| 亚洲电影中文字幕| 久久亚洲综合| 美女尤物久久精品| 国产日产精品一区二区三区四区的观看方式 | 久久精品一区| 久久久久久**毛片大全| 国产欧美日韩不卡| 在线亚洲美日韩| 中日韩在线视频| 欧美日韩ab片| 一区二区三区久久精品| 亚洲先锋成人| 国产精品综合久久久| 一区二区三区三区在线| 亚洲一级黄色av| 国产精品久久久免费| 亚洲尤物视频在线| 久久国产视频网| 樱桃成人精品视频在线播放| 久久久久久网址| 亚洲国产成人av好男人在线观看| 亚洲黄色一区| 欧美日韩亚洲网| 亚洲一区图片| 老司机精品导航| 99re66热这里只有精品4| 欧美日本高清| 亚洲欧美综合精品久久成人| 欧美专区第一页| 亚洲缚视频在线观看| 欧美日韩www| 性感少妇一区| 欧美激情按摩在线| 亚洲一区二三| 国内外成人在线视频| 美日韩精品免费| 日韩午夜在线播放| 久久精品女人| 99精品免费网| 韩国免费一区| 欧美伦理影院| 亚洲视频大全| 欧美福利视频| 欧美一进一出视频| 亚洲人成7777| 国产偷久久久精品专区| 欧美大片在线看| 亚洲一区二区三区精品在线| 鲁大师影院一区二区三区| 亚洲图片在线| 亚洲第一黄色网| 国产精品久久久久久亚洲毛片| 久久久国产一区二区三区| 日韩图片一区| 欧美激情亚洲一区| 欧美一区1区三区3区公司| 亚洲精品久久在线| 一区二区精品在线| 免费人成网站在线观看欧美高清| 亚洲一区在线观看免费观看电影高清| 亚洲欧美一区二区原创| 亚洲日本一区二区三区| 国产视频一区二区三区在线观看| 麻豆freexxxx性91精品| 亚洲午夜一区二区| 最新精品在线| 欧美www在线| 久久九九国产精品| 香蕉乱码成人久久天堂爱免费| 日韩午夜电影在线观看| 在线看不卡av| 合欧美一区二区三区| 国产精品免费福利|