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

          PKU 1002 487-3279

          Posted on 2007-06-03 21:54 ZelluX 閱讀(1248) 評論(3)  編輯  收藏 所屬分類: Algorithm
          用了STL::map,很容易過了,前面用Java和樸素的C++都超時了
          不過開始提交的時候題目沒看清,沒有重復的號碼應該輸出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  回復  更多評論   

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

          # re: PKU 1002 487-3279  回復  更多評論   

          2007-09-16 19:17 by ZelluX
          @linux
          剛看了下以前的記錄,發現是1795ms內過的,差點就tle了,好險@@

          # re: PKU 1002 487-3279  回復  更多評論   

          2008-02-21 00:45 by ecl1pse
          我這個題也是1343MS過的 危險的很
          主站蜘蛛池模板: 泾阳县| 达州市| 开封县| 岑溪市| 桃园市| 合肥市| 丹江口市| 周口市| 高淳县| 沈阳市| 乐亭县| 长宁县| 双辽市| 阆中市| 兴安盟| 璧山县| 阿拉善右旗| 拜泉县| 安西县| 东台市| 赫章县| 阿巴嘎旗| 德格县| 健康| 明光市| 耒阳市| 玉溪市| 略阳县| 门源| 竹北市| 北京市| 张家口市| 安泽县| 青铜峡市| 武乡县| 太保市| 共和县| 甘孜县| 霍邱县| 石景山区| 剑河县|