1002.txt
资源名称:1002.zip [点击查看]
上传用户:fdtanqha
上传日期:2022-04-05
资源大小:1k
文件大小:3k
源码类别:
IP电话/视频会议
开发平台:
Visual C++
- #include <iostream>
- #include <vector>
- #include <string>
- #include <map>
- using namespace std ;
- map< char , char > ch_ch ;
- void Initial( )
- {
- ch_ch.insert( make_pair( 'A' , '2' ) ) ;
- ch_ch.insert( make_pair( 'B' , '2' ) ) ;
- ch_ch.insert( make_pair( 'C' , '2' ) ) ;
- ch_ch.insert( make_pair( 'D' , '3' ) ) ;
- ch_ch.insert( make_pair( 'E' , '3' ) ) ;
- ch_ch.insert( make_pair( 'F' , '3' ) ) ;
- ch_ch.insert( make_pair( 'G' , '4' ) ) ;
- ch_ch.insert( make_pair( 'H' , '4' ) ) ;
- ch_ch.insert( make_pair( 'I' , '4' ) ) ;
- ch_ch.insert( make_pair( 'J' , '5' ) ) ;
- ch_ch.insert( make_pair( 'K' , '5' ) ) ;
- ch_ch.insert( make_pair( 'L' , '5' ) ) ;
- ch_ch.insert( make_pair( 'M' , '6' ) ) ;
- ch_ch.insert( make_pair( 'N' , '6' ) ) ;
- ch_ch.insert( make_pair( 'O' , '6' ) ) ;
- ch_ch.insert( make_pair( 'P' , '7' ) ) ;
- ch_ch.insert( make_pair( 'R' , '7' ) ) ;
- ch_ch.insert( make_pair( 'S' , '7' ) ) ;
- ch_ch.insert( make_pair( 'T' , '8' ) ) ;
- ch_ch.insert( make_pair( 'U' , '8' ) ) ;
- ch_ch.insert( make_pair( 'V' , '8' ) ) ;
- ch_ch.insert( make_pair( 'W' , '9' ) ) ;
- ch_ch.insert( make_pair( 'X' , '9' ) ) ;
- ch_ch.insert( make_pair( 'Y' , '9' ) ) ;
- }
- void toStandard ( vector<string> & telNum )
- {
- vector<string>::iterator iter = telNum.begin() ;
- int i ;
- while( iter != telNum.end() )
- {
- for( i = 0 ; i < (*iter).size() ; ++ i )
- {
- char letter = (*iter)[i] ;
- if( letter == '-' )
- {
- (*iter).erase( (*iter).begin() + i ) ;
- -- i ;
- }
- else
- if( ch_ch.find( letter ) != ch_ch.end() )
- (*iter)[i] = ch_ch[ letter ] ;
- }
- (*iter).insert( (*iter).begin() + 3 , '-' ) ;
- ++ iter ;
- }
- return ;
- }
- void setMap( vector<string> & telNum , map< string , int > & telNum_count )
- {
- vector<string>::iterator iter = telNum.begin() ;
- while( iter != telNum.end() )
- {
- ++ telNum_count[ *iter ] ;
- ++ iter ;
- }
- return ;
- }
- int main()
- {
- int case_num ;
- Initial( ) ;
- while( cin >> case_num )
- {
- vector<string> telNum ;
- string number ;
- int i ;
- for( i = 0 ; i < case_num ; ++ i )
- {
- cin >> number ;
- telNum.push_back( number ) ;
- }
- toStandard( telNum ) ;
- map< string , int > telNum_count ;
- setMap( telNum , telNum_count ) ;
- map< string , int > ::iterator iter = telNum_count.begin() ;
- bool happen = false ;
- while( iter != telNum_count.end() )
- {
- if( iter->second > 1 )
- {
- cout << iter->first << " "
- << iter->second << endl ;
- happen = true ;
- }
- ++ iter ;
- }
- if( happen == false )
- cout << "No duplicates." << endl ;
- }
- return 0 ;
- }