• <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>
            隨筆-65  評論-6  文章-0  trackbacks-0
             1 /*
             2 Author:    Leo.W
             3 Descriptipn:  城市間的道路通行,尋找從A城到B城,其間經過的路線最高速與最低速極差最小的路線,并輸出這個最小值。 
             4 How to Do:    并查集(最小生成樹的Kruskal算法)+ 貪心;
             5               先將道路權值自小到大排序,再依次枚舉權值下限,每次枚舉一個下限時,初始化一次,然后Kruskal算法
             6               直到A、B兩點被連通,記錄這一路的極值。接著循環枚舉下一個下限,即比前一個下限大一點的權值。直到
             7               所有權值被枚舉完,此時極值中的最小值就得到了。
             8   */
             9 #include <cstdio>
            10 #include <iostream>
            11 #include <algorithm>
            12 #include <string.h> 
            13 using namespace std;
            14 #define INF 0x7fffffff
            15 #define MAXD 205
            16 #define MAXN 1005
            17 struct line{
            18     int bg;
            19     int ed;
            20     int val;
            21 }road[MAXN];
            22 int par[MAXD],rank[MAXD];
            23 int n,m;
            24 
            25 int cmp(line a,line b){
            26     return a.val<b.val;
            27 }
            28 int findSet(int x){
            29     if(x!=par[x])
            30         par[x]=findSet(par[x]);
            31     return par[x];
            32 }
            33 bool Union(int x,int y){
            34     x=findSet(x);
            35     y=findSet(y);
            36     if(x==y)    return false;
            37     if(rank[x]>rank[y])
            38         par[y]=x;
            39     else{
            40         if(rank[x]==rank[y])
            41             rank[y]++;
            42         par[x]=y;
            43     }
            44     return true;
            45 }
            46 inline void makeSet(int n){
            47     int i;
            48     for(i=1;i<=n;i++)//從1到n
            49         par[i]=i,rank[i]=0;
            50 }
            51 int main(){
            52     //freopen("in.txt","r",stdin);
            53     while (scanf("%d%d",&n,&m)!=EOF){
            54         int i,j;
            55         for(i=0;i<m;i++)
            56             scanf("%d%d%d",&road[i].bg,&road[i].ed,&road[i].val);
            57         sort(road,road+m,cmp);//權值自小到大排序
            58         int cases;    
            59         scanf("%d",&cases);
            60         while (cases--){
            61             int st,en,Min=INF;
            62             scanf("%d%d",&st,&en);
            63             for(i=0;i<m;i++){
            64                 makeSet(n);
            65                 for(j=i;j<m;j++){
            66                     if(Union(road[j].bg,road[j].ed))
            67                         if(findSet(st)==findSet(en)){
            68                             if(Min>road[j].val-road[i].val)
            69                                 Min=road[j].val-road[i].val;
            70                             break;
            71                         }
            72                 }
            73             }
            74             if(Min!=INF)
            75                 printf("%d\n",Min);
            76             else
            77                 printf("-1\n");
            78         }
            79     }
            80     return 0;
            81 }
            82 
            posted on 2012-03-16 12:26 Leo.W 閱讀(485) 評論(0)  編輯 收藏 引用
            伊人久久五月天| 久久精品亚洲欧美日韩久久| 国产精品无码久久综合| 久久精品视频网| 久久精品18| 无码人妻久久一区二区三区| 国产精品久久久久9999高清| 亚洲国产成人久久综合区| 色婷婷综合久久久久中文一区二区 | 香蕉99久久国产综合精品宅男自 | 久久嫩草影院免费看夜色| 狠狠综合久久综合88亚洲| 97精品伊人久久久大香线蕉 | 久久久婷婷五月亚洲97号色| 国内精品久久久久久久涩爱| 久久国产欧美日韩精品| 久久综合久久性久99毛片| AV无码久久久久不卡网站下载 | 久久精品卫校国产小美女| 99久久精品久久久久久清纯| 亚洲色大成网站www久久九| 久久久久无码国产精品不卡| 国产福利电影一区二区三区,免费久久久久久久精 | 久久久无码精品亚洲日韩软件| 久久久久亚洲精品无码蜜桃| 日韩欧美亚洲国产精品字幕久久久| 国内精品久久久久久野外| 伊人久久大香线蕉综合5g| 一本一道久久精品综合| 精品久久久久久国产91| 久久久一本精品99久久精品66 | 久久久WWW成人| 国产精品久久久99| 99久久婷婷国产综合精品草原| 97久久精品午夜一区二区| 99久久99久久精品国产片果冻| 亚洲国产精品无码久久青草| 久久精品三级视频| 久久天天躁狠狠躁夜夜2020| 久久WWW免费人成—看片| 94久久国产乱子伦精品免费|