• <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>
            #include <iostream>
            #include 
            <vector>
            #include 
            <algorithm>

            using namespace std;

            struct Edge
            {
                
            int row;
                
            int column;
                
            int value;

                Edge()
                
            {}

                Edge( 
            int a, int b, int c )
                    :row(a),column(b),value(c)
                
            {}
            }
            ;

            bool operator<( Edge const& Itema, Edge const& Itemb )
            {
                
            return Itema.value> Itemb.value;
            }


            vector
            <Edge> graph;
            int          visite[2001];
            char         ch[2001][8];

            int find( int x )
            {
                
            if ( x!= visite[x] )
                    
            return find( visite[x] );

                
            return x;
            }


            int distance( char str1[8], char str2[8] )
            {
                
            int num= 0;

                
            for ( int i= 0; i< 8++i )
                    
            if ( str1[i]!= str2[i] )
                        num
            ++;

                
            return num;
            }


            int main()
            {
                
            int n;

                
            while ( scanf("%d",&n), n )
                
            {
                    
            for ( int i= 0; i< n; ++i )
                        scanf(
            "%s",ch[i] );

                    graph.reserve ( n
            + 1 );

                    
            for ( int i= 0; i< n; ++i )
                    
            {
                        
            for ( int j= 0; j< i; ++j )
                            graph.push_back (  Edge( j,i,distance( ch[i], ch[j] ) ) );
                
                        visite[i]
            = i;
                    }


                    make_heap( graph.begin (), graph.end () );
                    
            int sum= 0;
                    
            int num= 1;

                    
            while ( num< n )
                    
            {
                        
            int u,v;
                        
            if ( (u= find(graph[0].column))!= (v= find(graph[0].row ) ) )
                        
            {
                            sum
            += graph[0].value;
                            visite[v]
            = u;
                            num
            ++;
                        }


                        pop_heap( graph.begin (), graph.end () );
                        graph.pop_back ();
                    }


                    printf( 
            "The highest possible quality is 1/%d.\n", sum );

                    graph.clear ();
                }


                
            return 0;
            }
            posted on 2008-11-06 12:00 Darren 閱讀(236) 評論(3)  編輯 收藏 引用

            評論:
            # re: Pku 1789 Truck History 2008-11-06 12:42 | infinity
            這題好像就是一個最小生成樹吧!  回復  更多評論
              
            # re: Pku 1789 Truck History 2008-11-06 13:02 | Darren
            @infinity
            這是最小生成樹, 我用的是kruskal算法  回復  更多評論
              
            # re: Pku 1789 Truck History 2008-11-06 14:03 | ******
            我的做法:
            串兩兩比較,匹配他們,統(tǒng)計不同的字符數(shù),然后就產(chǎn)生了一張抽象的權(quán)值圖
            然后prim  回復  更多評論
              
            国产精品一区二区久久精品| 久久精品国产2020| 精品久久人人做人人爽综合| 久久精品国产精品亜洲毛片| 精品国产日韩久久亚洲| 99久久婷婷免费国产综合精品| 精品国产综合区久久久久久 | 99国产精品久久| 国产精品成人久久久久久久| 无码国内精品久久综合88| 97r久久精品国产99国产精| 久久天天躁狠狠躁夜夜av浪潮| 99精品国产99久久久久久97| 精品久久久久中文字幕一区| 熟妇人妻久久中文字幕| 欧美久久综合九色综合| 夜夜亚洲天天久久| 99精品国产在热久久无毒不卡| 一级做a爰片久久毛片看看| 久久这里只有精品久久| 久久SE精品一区二区| 婷婷久久综合九色综合绿巨人| 国产精品99久久精品| 午夜天堂av天堂久久久| 怡红院日本一道日本久久 | 国产精品九九久久精品女同亚洲欧美日韩综合区 | 国产69精品久久久久777| 狠狠色综合网站久久久久久久| 精品久久久久久99人妻| 丁香五月网久久综合| 久久超乳爆乳中文字幕| 久久精品国产99国产精品导航 | 三级三级久久三级久久 | 久久无码中文字幕东京热| 久久精品国产亚洲5555| 亚洲国产精久久久久久久| av国内精品久久久久影院| 国产精品对白刺激久久久| 日韩AV无码久久一区二区| 久久精品国产亚洲AV嫖农村妇女| 亚洲va中文字幕无码久久 |