• <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 閱讀(492) 評論(0)  編輯 收藏 引用
            久久精品国内一区二区三区| 亚洲AV无码久久精品成人| 99久久婷婷国产一区二区| 久久久久久国产a免费观看不卡| 久久精品国产精品亚洲| 亚洲成色www久久网站夜月| 久久国产热这里只有精品| 日产精品久久久一区二区| 国产成人久久久精品二区三区| 亚洲成色WWW久久网站| 欧洲国产伦久久久久久久| 久久er国产精品免费观看2| 久久无码AV中文出轨人妻| 亚洲国产精品久久| 91精品国产色综合久久| 国产精品久久久久a影院| 久久本道久久综合伊人| 久久综合给久久狠狠97色| 综合久久一区二区三区| 精品无码久久久久久国产| 国产精品久久久久影院嫩草| 无码国内精品久久人妻| 国产精品99久久久精品无码| 无码8090精品久久一区| 国产一区二区精品久久凹凸 | 亚洲综合日韩久久成人AV| 精品人妻伦九区久久AAA片69| 97久久精品人人澡人人爽| 久久96国产精品久久久| 国产精品美女久久久m| 亚洲色婷婷综合久久| 久久亚洲精品无码AV红樱桃| 亚洲AV无码1区2区久久| 777午夜精品久久av蜜臀| 亚洲精品无码专区久久久| 久久夜色精品国产噜噜噜亚洲AV| 久久久精品人妻一区二区三区蜜桃| 亚洲精品WWW久久久久久| 色天使久久综合网天天| 无码人妻精品一区二区三区久久| 久久久久亚洲精品无码蜜桃|