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:MAP TLE! 囧#include <iostream> #include <map> #include <string> using namespace std; typedef map<string,int,less<string> > NumberType; typedef map<string,int,less<string> >::iterator NumberType_IT; NumberType Dict; void check(string &Number) { int pos=Number.find_first_of('-'); while (pos>-1) { Number.erase(pos,1); pos=Number.find_first_of('-'); } for (int i=0;i<Number.length();i++) { switch (Number[i]) { case 'A' : case 'B' : case 'C' : Number[i]='2'; break; case 'D' : case 'E' : case 'F' : Number[i]='3'; break; case 'G' : case 'H' : case 'I' : Number[i]='4'; break; case 'J' : case 'K' : case 'L' : Number[i]='5'; break; case 'M' : case 'N' : case 'O' : Number[i]='6'; break; case 'P' : case 'R' : case 'S' : Number[i]='7'; break; case 'T' : case 'U' : case 'V' : Number[i]='8'; break; case 'W' : case 'X' : case 'Y' : Number[i]='9'; break; } } Number.insert(3,"-"); } int main() { int n; cin >> n; for (int i=0;i<n;i++) { string Number; cin >> Number; check(Number); NumberType_IT it; Dict[Number]++; } int flag=0; for (NumberType_IT it=Dict.begin();it!=Dict.end();it++) { if (it->second>1) { cout << (it->first) << ' ' << (it->second) << endl; flag++; } } if (flag==0) cout << "No duplicates."; return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator