• <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>
            xiaoguozi's Blog
            Pay it forword - 我并不覺的自豪,我所嘗試的事情都失敗了······習慣原本生活的人不容易改變,就算現狀很糟,他們也很難改變,在過程中,他們還是放棄了······他們一放棄,大家就都是輸家······讓愛傳出去,很困難,也無法預料,人們需要更細心的觀察別人,要隨時注意才能保護別人,因為他們未必知道自己要什么·····

            今天寫了下http://acm.pku.edu.cn/JudgeOnline/problem?id=1451
            兩份代碼在vc下ac,用g++交RE...
            如下:

              1 #include <iostream>
              2 #include <algorithm>
              3 #include <string>
              4 #include <vector>
              5 
              6 using namespace std;
              7 
              8 int const NUM=26;
              9 vector< vector<char> >vec;
             10 struct Node
             11 {
             12     string ss;
             13     int pro;
             14     bool operator<(const Node& c)const{
             15         if(pro!=c.pro)return pro>c.pro;
             16         return ss<c.ss;
             17     };
             18     Node(string m="",int p=0):ss(m),pro(p){};
             19 };
             20 class _Trie
             21 {
             22 public:
             23     _Trie():val(0){
             24         for(int i=0;i<NUM;i++)next[i]=NULL;
             25     }
             26     ~_Trie(){
             27         for(int i=0;i<NUM;i++)delete next[i];
             28     }
             29     _Trie* next[NUM];
             30     int val;
             31 };
             32 Node ans[505];
             33 string ss;
             34 void dfs(_Trie* now,int level,string sm)
             35 {
             36     if(ss[level]=='1')return;
             37     string mm=sm;
             38     for(int i=0;i<vec[ss[level]-48].size();i++){
             39         _Trie* p=now->next[vec[ss[level]-48][i]-'A'];
             40         if(p!=NULL){
             41             mm+=(vec[ss[level]-48][i]+32);
             42             if(p->val>ans[level+1].pro&&level+1<505){
             43                 ans[level+1].pro=p->val;
             44                 ans[level+1].ss=mm;
             45             }
             46             else if(p->val==ans[level+1].pro){
             47                 if(ans[level+1].ss>mm){
             48                     ans[level+1].ss=mm;
             49                 }
             50             }
             51             dfs(p,level+1,mm);
             52             mm=sm;
             53         }
             54     }
             55     return;
             56 }
             57 int main()
             58 {
             59     vec.resize(29);
             60     vec[2].push_back('A'),vec[2].push_back('B'),vec[2].push_back('C');
             61     vec[3].push_back('D'),vec[3].push_back('E'),vec[3].push_back('F');
             62     vec[4].push_back('G'),vec[4].push_back('H'),vec[4].push_back('I');
             63     vec[5].push_back('J'),vec[5].push_back('K'),vec[5].push_back('L');
             64     vec[6].push_back('M'),vec[6].push_back('N'),vec[6].push_back('O');
             65     vec[7].push_back('P'),vec[7].push_back('Q'),vec[7].push_back('R'),vec[7].push_back('S');
             66     vec[8].push_back('T'),vec[8].push_back('U'),vec[8].push_back('V');
             67     vec[9].push_back('W'),vec[9].push_back('X'),vec[9].push_back('Y'),vec[9].push_back('Z');
             68     int T;
             69     cin>>T;
             70     for(int r=1;r<=T;r++){
             71         _Trie root;
             72         int n;
             73         cin>>n;
             74         string str;
             75         int pro;
             76         while(n--){
             77             _Trie* point=&root;
             78             cin>>str>>pro;
             79             for(int i=0;i<str.size();++i){        
             80                 if(!point->next[str[i]-'a'])
             81                     point->next[str[i]-'a']=new _Trie;                
             82                 point=point->next[str[i]-'a'];
             83                 point->val+=pro;
             84             }
             85         }
             86         cout<<"Scenario #"<<r<<":\n";
             87         cin>>n;
             88         while(n--){
             89             memset(ans,0,sizeof(ans));
             90             cin>>ss;
             91             int cnt=0;
             92             for(int i=0;i<ss.size();i++){
             93                 if(ss[i]=='1')break;
             94                 else cnt++;
             95             }
             96             _Trie* now=&root;
             97             dfs(now,0,"");
             98             sort(ans+1,ans+cnt+1);
             99             for(int i=0;i<cnt;++i){
            100                 if(ans[i+1].pro!=0)cout<<ans[i+1].ss<<endl;
            101                 else cout<<"MANUALLY"<<endl;
            102             }
            103             cout<<endl;
            104         }    
            105         cout<<endl;
            106     }
            107     return 0;
            108 }
            109 
            經過兩個多小時周折,終于在G++下也ac......聰明的你...能否改改...同樣也能在G++下ac...
            ps:絕對是一個挑戰...至少忍耐力會上一個臺階...(我幾乎已崩潰,沒找出錯誤,我在G++下
            1 if(p->val>ans[level+1].pro&&level+1<505){
            2                 ans[level+1].pro=p->val;
            3                 ans[level+1].ss=mm;
            4             }
            5             else if(p->val==ans[level+1].pro){
            6                 if(ans[level+1].ss>mm){
            7                     ans[level+1].ss=mm;
            8                 }
            9             }
            ans[level+1].ss=mm,跳出"程序訪問違例(段異常)",
            改完ac的acmers留個言...^_^,值得挑戰...
            原因分析:是memset時出了問題...不能對本身有構造函數的類或類成員中有構造函數的類成員memset..本例就是
            string出了問題...
            posted on 2008-08-15 16:33 小果子 閱讀(324) 評論(0)  編輯 收藏 引用 所屬分類: 學習筆記
            国产精品99久久免费观看| 久久午夜福利无码1000合集| 久久亚洲AV成人无码国产| 久久一日本道色综合久久| 亚洲午夜久久影院| 狠狠色丁香婷婷久久综合| 久久精品国产亚洲AV香蕉| 久久综合狠狠综合久久激情 | 日本亚洲色大成网站WWW久久 | 精品久久久久香蕉网| 99久久99久久精品国产片| 久久精品国产久精国产一老狼| 国产精品久久久久久| 久久99这里只有精品国产| 国产成人精品久久一区二区三区av | 99久久精品国产一区二区蜜芽| 久久毛片一区二区| 久久这里只有精品首页| 精品综合久久久久久97| 久久一区二区免费播放| 久久久中文字幕| 人妻精品久久无码专区精东影业| 欧美久久一区二区三区| 国产精品久久久久一区二区三区| 无遮挡粉嫩小泬久久久久久久| 香蕉99久久国产综合精品宅男自| 四虎国产精品免费久久久| 欧洲成人午夜精品无码区久久| 亚洲国产一成久久精品国产成人综合 | 国产精品日韩欧美久久综合| 久久人人爽爽爽人久久久| 2020久久精品亚洲热综合一本| 精品水蜜桃久久久久久久| 99久久精品免费| 久久久久国产日韩精品网站| 91精品国产综合久久四虎久久无码一级| 久久国产免费观看精品3| 久久亚洲精品成人AV| 99久久成人国产精品免费| .精品久久久麻豆国产精品| 国产精品岛国久久久久|