posts - 403, comments - 310, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          PKU 1002 487-3279

          Posted on 2007-06-03 21:54 ZelluX 閱讀(1249) 評論(3)  編輯  收藏 所屬分類: Algorithm
          用了STL::map,很容易過了,前面用Java和樸素的C++都超時了
          不過開始提交的時候題目沒看清,沒有重復(fù)的號碼應(yīng)該輸出No duplicates.的
          #include <iostream>
          #include 
          <string>
          #include 
          <map>

          using namespace std;

          string decode(const string& origin);

          long main() {
              
          long n;
              cin 
          >> n;
              map
          <stringlong> phones;
              
          string origin;
              map
          <stringlong>::iterator iter;
              
          for (long i=0; i<n; i++{
                  cin 
          >> origin;
                  
          string decoded = decode(origin);
                  iter 
          = phones.find(decoded);
                  
          if (iter == phones.end()) {
                      phones.insert(pair
          <stringlong>(decoded, 1));
                  }
           else {
                      iter
          ->second++;
                  }

              }


              
          bool flag = true;
              
          for (iter = phones.begin(); iter != phones.end(); iter++{
                  
          if (iter->second <= 1)
                      
          continue;
                  cout 
          << iter->first.substr(03<< '-' << iter->first.substr(38)
                       
          << ' ' << iter->second << endl;
                  flag 
          = false;
              }

              
          if (flag)
                  cout 
          << "No duplicates." << endl;
              
          return 0;
          }


          string decode(const string& origin) {
              
          string decoded;
              
          for (long i = 0; i < origin.length(); i++{
                  
          switch (origin[i]) {
                      
          case 'A'case 'B'case 'C'case '2':
                          decoded 
          += '2';
                          
          break;
                      
          case 'D'case 'E'case 'F'case '3':
                          decoded 
          += '3';
                          
          break;
                      
          case 'G'case 'H'case 'I'case '4':
                          decoded 
          += '4';
                          
          break;
                      
          case 'J'case 'K'case 'L'case '5':
                          decoded 
          += '5';
                          
          break;
                      
          case 'M'case 'N'case 'O'case '6':
                          decoded 
          += '6';
                          
          break;
                      
          case 'P'case 'R'case 'S'case '7':
                          decoded 
          += '7';
                          
          break;
                      
          case 'T'case 'U'case 'V'case '8':
                          decoded 
          += '8';
                          
          break;
                      
          case 'W'case 'X'case 'Y'case '9':
                          decoded 
          += '9';
                          
          break;
                      
          case '1'case '0':
                          decoded 
          += origin[i];
                          
          break;
                  }

              }

              
          return decoded;
          }

          評論

          # re: PKU 1002 487-3279  回復(fù)  更多評論   

          2007-09-16 15:00 by linux
          haoxiang ye chaoshi le!

          # re: PKU 1002 487-3279  回復(fù)  更多評論   

          2007-09-16 19:17 by ZelluX
          @linux
          剛看了下以前的記錄,發(fā)現(xiàn)是1795ms內(nèi)過的,差點(diǎn)就tle了,好險@@

          # re: PKU 1002 487-3279  回復(fù)  更多評論   

          2008-02-21 00:45 by ecl1pse
          我這個題也是1343MS過的 危險的很
          主站蜘蛛池模板: 内乡县| 肇源县| 兖州市| 中江县| 安国市| 广元市| 陆良县| 大英县| 安顺市| 禄丰县| 铜川市| 肇庆市| 新宁县| 东台市| 调兵山市| 沛县| 江山市| 云南省| 亳州市| 昌都县| 缙云县| 永平县| 含山县| 凤庆县| 临江市| 黎川县| 安康市| 临城县| 连城县| 美姑县| 永年县| 兖州市| 钟祥市| 乐业县| 南雄市| 黄石市| 海丰县| 潍坊市| 万全县| 商洛市| 仁化县|