Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
郁闷,偷懒用STL不行啊,超时.难道这道题不能用STL么#include <iostream> #include <string> #include <vector> #include <iterator> #include <set> #include <algorithm> using namespace std; string fun(string &num) { string res=""; for(int i=num.length()-1; i>=0; i--) { switch(num[i]) { case 'A': case 'B': case 'C': res.insert(res.begin(),'2'); break; case 'D': case 'E': case 'F': res.insert(res.begin(),'3'); break; case 'G': case 'H': case 'I': res.insert(res.begin(),'4'); break; case 'J': case 'K': case 'L': res.insert(res.begin(),'5'); break; case 'M': case 'N': case 'O': res.insert(res.begin(),'6'); break; case 'P': case 'R': case 'S': res.insert(res.begin(),'7'); break; case 'T': case 'U': case 'V': res.insert(res.begin(),'8'); break; case 'W': case 'X': case 'Y': res.insert(res.begin(),'9'); break; case '-': break; default: res.insert(res.begin(),num[i]); break; } } res.insert(res.begin()+3,'-'); return res; } void main() { string temp; vector<string> number; set<string> unique_number; int n; cin>>n; for(int i=0; i<n; i++) { cin>>temp; number.push_back( fun(temp) ); unique_number.insert(fun(temp)); } sort(number.begin(),number.end()); for(set<string>::iterator sp=unique_number.begin(); sp!=unique_number.end(); sp++) { int cnt = count(number.begin(),number.end(),*sp); if(cnt>1) { cout<<*sp<<" "; cout<<cnt<<endl; } } } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator