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

            巢穴

            about:blank

            usaco 4.3 lgame

            /*
            ID:ccl03261
            LANG:C++
            TASK:lgame
            */


            #include 
            <iostream>
            #include 
            <string>
            #include 
            <fstream>
            #include 
            <vector>
            #include 
            <algorithm>
            using namespace std;
            ifstream fin(
            "lgame.in");
            ifstream dfin(
            "lgame.dict");
            ofstream fout(
            "lgame.out");
            vector
            <string> v;
            string input_str;
            string str[40001];
            int n=0;
            int hash[26],phash[26];
            int t[40001][26];
            int score[26]={2,5,4,4,1,6,5,5,1,7,6,3,5,2,3,5,7,2,1,2,4,6,6,7,5,7};
            int main()
            {
                
            for (int i=0;i<26;i++)
                 hash[i]
            =0;
                fin
            >>input_str;
                
            for (int i=0;i<input_str.length();i++)
                 hash[input_str[i]
            -'a']++;
                
            for (int i=0;i<40001;i++)
                 
            for (int j=0;j<26;j++)
                  t[i][j]
            =0;
                
            while(1)
                
            {
                 
            string s;
                 dfin
            >>s;
                 
            if (s=="."break;
                 
            for (int i=0;i<26;i++) phash[i]=0;
                 
            for (int i=0;i<s.length();i++)
                  phash[s[i]
            -'a']++;
                 
            bool ok=true;
                 
            for (int i=0;i<26;i++)
                  
            if (phash[i]>hash[i]) {ok=false;break;}
                 
            if (ok) {n++;str[n]=s;for (int i=0;i<26;i++){t[n][i]=phash[i];}}
                }

                
                
            int max_=0;
                str[
            0]="";
                
            for (int i=0;i<=n;i++)
                
            {
                 
            for (int j=i+1;j<=n;j++)
                 
            {
                  
            for (int l=0;l<26;l++) phash[l]=0;
                  
            for (int k=0;k<26;k++)
                   phash[k]
            =t[i][k]+t[j][k];
                  
            bool ok=true;
                  
            for (int k=0;k<26;k++)
                  
            {
                   
            if (phash[k]>hash[k]) {ok=false;break;}
                  }

                  
                  
            if (ok)
                  
            {
                   
            int sum=0;
                   
            for (int k=0;k<26;k++)
                     sum
            +=phash[k]*score[k];
                   
            if (max_<sum) 
                   
            {
                    max_
            =sum;
                    v.clear();
                    
            if (i==0) v.push_back(str[j]);
                    
            else
                        v.push_back(str[i]
            +" "+str[j]);
                   }

                   
            else if (max_==sum)
                        

                           
            if (i==0) v.push_back(str[j]);
                           
            else
                               v.push_back(str[i]
            +" "+str[j]);
                        }

                  }

                 }

                }

                fout
            <<max_<<endl;
                sort(v.begin(),v.end());
                
            for (int i=0;i<v.size();i++)
                 fout
            <<v[i]<<endl;
               
            // system("pause");
                return 0;
            }

            posted on 2009-11-06 12:12 Vincent 閱讀(163) 評論(0)  編輯 收藏 引用 所屬分類: 數(shù)據(jù)結(jié)構(gòu)與算法

            国产成人精品免费久久久久| 四虎国产精品免费久久久| 无码任你躁久久久久久老妇 | 伊人久久成人成综合网222| 国产精品久久婷婷六月丁香| 99精品国产99久久久久久97| 狠狠色噜噜狠狠狠狠狠色综合久久 | 亚洲国产精品一区二区久久hs| 久久久久久无码Av成人影院| 国产精品伊人久久伊人电影| 欧美丰满熟妇BBB久久久| 狠狠色综合久久久久尤物| 久久亚洲精品国产精品| 国产无套内射久久久国产| 无码人妻久久一区二区三区免费丨 | 久久精品国产亚洲AV嫖农村妇女| 国产精品九九久久免费视频| 看久久久久久a级毛片| 亚洲国产成人精品久久久国产成人一区二区三区综 | 日本三级久久网| 久久天天躁狠狠躁夜夜96流白浆| 久久国产精品免费| 婷婷综合久久狠狠色99h| 久久亚洲国产成人精品性色| 久久99精品国产麻豆宅宅| 中文字幕精品久久| 亚洲国产小视频精品久久久三级| 国产精品日韩深夜福利久久| 国产精品久久久久9999| 国产婷婷成人久久Av免费高清| 国产成人精品久久| 97久久婷婷五月综合色d啪蜜芽| 香蕉99久久国产综合精品宅男自| 欧美精品丝袜久久久中文字幕| 国产精品成人精品久久久| 精品久久久久久99人妻| 精品无码人妻久久久久久| 久久人妻少妇嫩草AV无码蜜桃| 女同久久| 一本色道久久综合亚洲精品| 奇米综合四色77777久久|