• <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ù)結構與算法

            国产精品久久久久影院嫩草| 欧美日韩精品久久久久| 最新久久免费视频| 久久久久久久综合狠狠综合| 99精品久久精品| 久久精品国产亚洲AV电影| 中文字幕无码久久人妻| 亚洲国产精品人久久| 精品一二三区久久aaa片| 青青草国产精品久久| 久久国产色av免费看| 久久精品国产亚洲AV香蕉| 91亚洲国产成人久久精品网址| 久久亚洲国产精品123区| 国产亚洲欧美精品久久久| 久久影院亚洲一区| 国产成人精品白浆久久69| 久久久久人妻一区精品| 精品久久777| 久久久亚洲AV波多野结衣 | 欧美日韩精品久久久久| 久久亚洲美女精品国产精品| 亚洲午夜福利精品久久| 国产激情久久久久影院小草| 99久久精品费精品国产一区二区| 久久国产精品无| 欧美亚洲日本久久精品| 久久精品亚洲精品国产欧美| 99久久国产热无码精品免费| 无码人妻久久一区二区三区免费丨 | 久久精品毛片免费观看| 欧美伊人久久大香线蕉综合| 久久久久久久久久免免费精品| 久久精品男人影院| 久久99精品综合国产首页| 91精品国产乱码久久久久久 | 欧美噜噜久久久XXX| 亚洲精品美女久久久久99| 日韩乱码人妻无码中文字幕久久 | 久久精品人妻中文系列| 超级97碰碰碰碰久久久久最新|