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

            coreBugZJ

            此 blog 已棄。

            最長路——算法作業 3.3,EOJ 1110

            最長路

            Time Limit:1000MS Memory Limit:30000KB
            Total Submit:569 Accepted:172

            Description

            設G為有n個頂點的有向無環圖,G中各頂點的編號為1到n,且當<i,j>為G中的一條邊時有i < j。設w(i,j)為邊<i,j>的長度,請設計動態規劃算法,計算圖G中<i,j>間的最長路徑。輸入一個n,表示這個圖中有 n個頂點,后一個m,表示有m對路徑<i,j>,有向,后一個數p,表示有p次詢問,在接下來的p行中每行輸入2個數a,b,算出此圖中從a 到b的最長路徑。

            Input

            輸入一個數n(1<=n<=200),表示有n個點,接下來一個數m,表示有m條路,接下來m行中每行輸入2個數a ,b,v表示從a點到b點有條路,路的長度為v。
            接下來輸入一個數p,表示有p次詢問,在接下來的p行中每行輸入2個數a,b,算出此圖中從a到b的最長路徑。

            Output

            對每個詢問p,(a,b),輸出從a到b之間的最長路.如果a,b之間沒連通,輸出-1。

            Sample Input

            4 4
            1 2 2
            2 3 3
            1 3 4
            3 4 2
            3
            1 2
            1 3
            1 4

            Sample Output

            2
            5
            7

            Source

            ECNU算法作業



            Floyd 算法:

             1 #include <iostream>
             2 #include <cstdio>
             3 #include <cstring>
             4 
             5 using namespace std;
             6 
             7 int main(){
             8         const int N = 203;
             9         int w[ N ][ N ], n, m, i, j, k, p;
            10 
            11         while( EOF != scanf( "%d%d"&n, &m ) ){
            12                 memset( w, -1sizeof( w ) );
            13                 while( m-- ){
            14                         scanf( "%d%d%d"&i, &j, &k );
            15                         if( k > w[ i ][ j ] ){
            16                                 w[ i ][ j ] = k;
            17                         }
            18                 }
            19                 for( i = 1; i <= n; ++i ){
            20                         w[ i ][ i ] = 0;
            21                 }
            22                 for( k = 1; k <= n; ++k ){
            23                         for( i = 1; i <= n; ++i ){
            24                                 for( j = 1; j <= n; ++j ){
            25                                         if( ( k != i ) && ( k != j ) && ( i != j ) && ( w[ i ][ k ] >= 0 ) && ( w[ k ][ j ] >= 0 ) && ( w[ i ][ k ] + w[ k ][ j ] > w[ i ][ j ] ) ){
            26                                                 w[ i ][ j ] = w[ i ][ k ] + w[ k ][ j ];
            27                                         }
            28                                 }
            29                         }
            30                 }
            31                 scanf( "%d"&p );
            32                 while( p-- ){
            33                         scanf( "%d%d"&i, &j );
            34                         printf( "%d\n", w[ i ][ j ] );
            35                 }
            36         }
            37 
            38         return 0;
            39 }
            40 


            posted on 2011-04-18 16:11 coreBugZJ 閱讀(412) 評論(0)  編輯 收藏 引用 所屬分類: 課內作業

            精品国产一区二区三区久久| 国产精品热久久无码av| yellow中文字幕久久网| 久久综合综合久久狠狠狠97色88| 国产一区二区精品久久岳| 欧美亚洲国产精品久久久久| 中文字幕久久精品无码| 日韩精品久久久久久| 色悠久久久久久久综合网 | 伊人色综合久久天天| 国产A三级久久精品| 国产成人精品久久二区二区| 中文无码久久精品| 久久99精品久久久久久秒播| 久久久久久久久无码精品亚洲日韩| 久久影视综合亚洲| 久久精品无码专区免费 | 思思久久好好热精品国产| 99久久国产综合精品麻豆| 亚洲精品国产综合久久一线| 久久se这里只有精品| 久久综合综合久久综合| 久久这里只有精品18| 一本色综合久久| 久久一区二区三区免费| 久久se精品一区精品二区| 久久青青草原亚洲av无码app| 久久人搡人人玩人妻精品首页| 久久香蕉国产线看观看99| 丰满少妇高潮惨叫久久久| 2020久久精品国产免费| 一本色道久久88—综合亚洲精品| 日批日出水久久亚洲精品tv| 国产成人综合久久久久久| 精品久久久久久中文字幕| 久久99国产精品久久久| 亚洲国产成人久久综合一 | 狠狠人妻久久久久久综合| 色综合久久久久网| 国产叼嘿久久精品久久| 久久国产精品免费一区|