• <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>
            隨筆 - 19, 文章 - 0, 評論 - 2, 引用 - 0
            數據加載中……

            zoj1092_Arbitrage

                    剛開始的時候我不知道這一題該如何來做,我當時想到了用搜索,但是數據量太大,可能會超時。隊友這一題說可以用最短路徑的方法來做。我實在是想不起來如何做,因為最短路徑的算法我只學了Dijsktra。我在網上搜了一下,發現別人用的全是Floyd算法。我就學習了一下Floyd。其精髓就是一個三重循環。以最外層變量為中樞點。不斷的求得兩個點之間的最短路徑。現在我只理解到了這里,有待于以后的提高!
                   對于這一題,只要能夠找到一個頂點,讓他的值比1大,就說明可以錢生錢。

            #include <stdio.h>
            #include 
            <string.h>
            #include 
            <memory.h>
            #define DEBUG 1
            int n ;
            char mo[31][30] ;
            double map[31][31] ; 

            int Find( char *t )
            {
                
            int i ;
                
            for( i=1; i<=n; ++i )
                    
            if!strcmp( mo[i], t ) )
                        
            return i ;
            }


            void Floyd( )
            {
                
            int i, j, k ;
                
            for( k=1; k<=n; ++k )
                    
            for( i=1; i<=n; ++i )
                        
            for( j=1; j<=n; ++j )
                            
            if( map[i][j] < map[i][k]*map[k][j] )
                                map[i][j] 
            = map[i][k]*map[k][j] ;
            }


            void In( )
            {
                
            int i, x, y, sets ;
                
            char a[30], b[30] ;
                
            double rate ;
                
            for( i=1; i<=n; ++i )
                       scanf(
            "%s", mo[i] ) ;
                scanf(
            "%d"&sets ) ;
                
            for( i=1; i<=sets; ++i ){
                    scanf(
            "%s %lf %s", a, &rate, b ) ;
                    x 
            = Find( a ) ;
                    y 
            = Find( b ) ;
                    map[x][y] 
            = rate ;
                }

            }


            void Judge( )
            {
                
            int flag, i ;
                flag 
            = 0 ;
                
            for( i=1; i<=n; ++i ){
                    
            if( map[i][i] >= 1 ){
                        flag 
            = 1 ;
                        
            break ;
                    }

                }

                
            if( flag )
                    printf(
            "Yes\n") ;
                
            else
                    printf(
            "No\n") ;    
            }


            int main()
            {
                
            #if DEBUG
                freopen(
            "C:\\Documents and Settings\\Administrator\\桌面\\in.in","r",stdin) ;
                freopen(
            "C:\\Documents and Settings\\Administrator\\桌面\\out.out","w",stdout) ;
                
            #endif
                
                
            int i ;
                
            for( i=1; scanf("%d"&n) && n; ++i ){
                    printf(
            "Case %d: ", i ) ;
                    memset( map, 
            0sizeof(map) ) ;
                    In( ) ;
                    Floyd( ) ;
                    Judge( ) ;
                }

                
            return 0 ;
            }

            posted on 2009-05-08 00:47 祝你好運! 閱讀(370) 評論(0)  編輯 收藏 引用

            久久久女人与动物群交毛片| 久久久WWW成人| 国内精品久久久久伊人av| 国产精品久久国产精麻豆99网站 | 久久青青色综合| 精品久久久久久久国产潘金莲 | 中文精品久久久久国产网址| 久久精品成人| 91久久精一区二区三区大全| 久久高清一级毛片| 少妇久久久久久被弄高潮| 久久99久久99小草精品免视看| 亚洲伊人久久综合影院| 国产精品99久久免费观看| 久久精品夜色噜噜亚洲A∨| 久久丫精品国产亚洲av不卡| 久久精品无码免费不卡| 久久国产高潮流白浆免费观看| 久久影视综合亚洲| 老司机国内精品久久久久| 性做久久久久久久| 久久影院亚洲一区| 精品久久久久久久中文字幕 | 韩国三级中文字幕hd久久精品| 色婷婷综合久久久久中文| 午夜精品久久久久| 久久无码一区二区三区少妇| 2022年国产精品久久久久| 思思久久好好热精品国产| 欧美大战日韩91综合一区婷婷久久青草 | 日韩AV毛片精品久久久| 国产女人aaa级久久久级| 久久被窝电影亚洲爽爽爽| 精品久久777| 曰曰摸天天摸人人看久久久| 久久久久综合网久久| 午夜不卡888久久| 久久美女人爽女人爽| 99久久精品国产毛片| 国产精品99久久精品爆乳| 精品久久久久国产免费|