• <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>

            USACO--AOJ Bessie Come Home --Floyd算法

            Bessie Come Home

            Time Limit:JAVA/Others2000/1000MS  Memory Limit:JAVA/Others131072/65536KB
            Total Submit:6 Accepted:2

            Description

            It's dinner time, and the cows are out in their separate pastures. Farmer John rings the bell so they will start walking to the barn. Your job is to figure out which one cow gets to the barn first (the supplied test data will always have exactly one fastest cow).

            Between milkings, each cow is located in her own pasture, though some pastures have no cows in them. Each pasture is connected by a path to one or more other pastures (potentially including itself). Sometimes, two (potentially self-same) pastures are connected by more than one path. One or more of the pastures has a path to the barn. Thus, all cows have a path to the barn and they always know the shortest path. Of course, cows can go either direction on a path and they all walk at the same speed.

            The pastures are labeled `a'..`z' and `A'..`Y'. One cow is in each pasture labeled with a capital letter. No cow is in a pasture labeled with a lower case letter. The barn's label is `Z'; no cows are in the barn, though.

            Input

            Line 1: Integer P (1 <= P <= 10000) the number of paths that interconnect the pastures (and the barn)
            Line 2..P+1: Space separated, two letters and an integer: the names of the interconnected pastures/barn and the distance between them (1 <= distance <= 1000)

            Output

            A single line containing two items: the capital letter name of the pasture of the cow that arrives first back at the barn, the length of the path followed by that cow.

            Sample Input

            5
            A d 6
            B d 3
            C e 9
            d Z 8
            e Z 3
            

            Sample Output

            B 11
            

             1Floyd 算法:http://icpc.ahu.edu.cn:8080/AOJ/   做的第一個圖論題
             2圖的最短路徑問題,到‘Z’的最短路徑;
             3Floyd算法大概知道怎么用了 ,好像是動態規劃實現的,不知道為什么這樣是對的
             4O(N^3)求解最短路徑問題,數據范圍超過400可能就危險了
             5#include<iostream>
             6#include<string.h>
             7using namespace std;
             8int dis[53][53];
             9const int INF=10000000;
            10void Floyd(int n)
            11{
            12     for(int k=1; k<=n; k++)
            13     for(int i=1; i<=n; i++)
            14     for(int j=1; j<=n; j++)
            15      if(i!=k&&k!=j&&i!=j&&dis[i][k]+dis[k][j]<dis[i][j])
            16      dis[i][j]=dis[i][k]+dis[k][j];
            17
            18}

            19
            20
            21int main()
            22{
            23    int p,i,j,k,d,n1,n2; 
            24    cin>>p;
            25    memset(dis,0,sizeof (dis));
            26    for(i=1; i<=52; i++)
            27    for(j=1; j<=52; j++)
            28    dis[i][j]=INF;
            29     
            30    for(i=1; i<=p; i++)
            31    {
            32       char v1,v2;
            33       cin>>v1>>v2>>d;      
            34       if(v1==v2)continue;
            35       n1=(v1>='a'?v1-'a'+1:v1-'A'+26+1);
            36       n2=(v2>='a'?v2-'a'+1:v2-'A'+26+1);
            37       if(d<dis[n1][n2])dis[n1][n2]=dis[n2][n1]=d;
            38    }

            39    
            40    Floyd(52);
            41    
            42    int min=INF+100;
            43    char c;
            44    for(i=27; i<=51; i++//大寫字母到Z 
            45    {
            46       if(dis[i][52]<min){min=dis[i][52];c=i; }
            47    }

            48    cout<<char(c-27+'A')<<' '<<min<<endl;
            49    //system("pause");
            50    return 0;
            51}

            52

            posted on 2010-05-23 20:03 田兵 閱讀(1428) 評論(1)  編輯 收藏 引用 所屬分類: 圖論題

            <2010年5月>
            2526272829301
            2345678
            9101112131415
            16171819202122
            23242526272829
            303112345

            導航

            統計

            常用鏈接

            留言簿(2)

            隨筆分類(65)

            隨筆檔案(65)

            文章檔案(2)

            ACM

            搜索

            積分與排名

            最新隨筆

            最新評論

            閱讀排行榜

            亚洲欧美日韩久久精品| 狠狠色婷婷综合天天久久丁香| 久久精品国产亚洲av水果派| 72种姿势欧美久久久久大黄蕉| 久久不射电影网| 欧美久久久久久午夜精品| 亚洲国产日韩欧美综合久久| 久久精品中文字幕第23页| 日韩电影久久久被窝网| 看全色黄大色大片免费久久久| 亚洲中文字幕无码一久久区| 国产亚洲成人久久| 久久综合鬼色88久久精品综合自在自线噜噜| 久久久久亚洲av成人无码电影 | 久久亚洲国产午夜精品理论片 | 国产精品内射久久久久欢欢| 久久福利资源国产精品999| 国产精品女同久久久久电影院| 久久久久久国产精品无码下载| 久久人人爽爽爽人久久久| 久久人人爽人人爽AV片| www.久久精品| 久久影院综合精品| 久久人人爽人人人人爽AV| 国产精品久久久久一区二区三区 | 香蕉99久久国产综合精品宅男自 | 少妇久久久久久被弄高潮| 久久噜噜久久久精品66| 99久久精品国产一区二区三区| 亚洲AV乱码久久精品蜜桃| 久久午夜夜伦鲁鲁片免费无码影视| 久久精品一区二区| 97久久综合精品久久久综合| 亚洲精品高清国产一线久久| 欧美亚洲国产精品久久久久| 日韩电影久久久被窝网| 色综合久久天天综线观看| 久久国产乱子伦精品免费午夜| 国内精品伊人久久久久影院对白| 国产精品久久99| 国内精品久久久久影院一蜜桃|