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 |
额。。菜鸟求教。。c++的编译效率比g++要高么?同样的代码用g++的时候就是TLE但是换成c++竟然通过了。。。。虽然时间是1.5s效率非常非常低。。 代码: #include <iostream> #include <iomanip> #include <locale> #include <sstream> #include <map> #include <string> using namespace std; int stdnumber (const string & s) { int size = s.size(); int result=0; for (int i = 0; i<size; i++) { char aux = s[i]; if (aux == '-') continue; else if (aux >= '0' && aux<= '9') result = result*10+aux-'0'; else if (aux >= 'A' && aux <= 'R') result= result *10 + ((aux-'A')/3+2); else if (aux >= 'S' && aux <= 'Y') result = result * 10+((aux-'A' - 1) /3+2); //cout<<aux<<" "<<result<<endl; } return result; } int main (void) { int length; cin>> length; map<int,int> dic; bool duplicated = false; string s; for (int i =0 ; i< length ;i++) { cin>>s; int number = stdnumber(s); //cout<<number<<endl; dic[number]++; } for (map<int,int>::iterator it = dic.begin(); it != dic.end();it++) { if (it-> second != 1) { string str; ostringstream convert; convert<< (it->first); str = convert.str(); for (int i = str.size();i<7;i++) str.insert(0,1,'0'); //cout<<str<<endl; duplicated = true; cout<<(str.insert(3,1,'-'))<<" "<<it->second<<endl; } } if (!duplicated) cout<<"No duplicates. "; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator