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 |
Re:哪位大牛给帮忙看看,用stl怎么老是超时?用纯c也是超时啊,郁闷In Reply To:哪位大牛给帮忙看看,用stl怎么老是超时?用纯c也是超时啊,郁闷 Posted by:shuaihujun at 2007-12-25 12:16:54 > #include <stdio.h> > #include <iostream> > #include <vector> > #include <string> > #include <algorithm> > using namespace std; > > int main() > { > char c[24] = {'2', '2', '2', '3', '3', '3', '4', '4', '4', '5', '5', '5', '6', '6', '6', '7', '7', '7', '8', '8', '8', '9', '9', '9'}; > vector<string> str; > str.reserve(1000); > double num; > cin >> num; > string str1, str2; > for(int i = 0; i < num; i ++) > { > cin >> str1; > for(int j = 0; j < str1.length(); j ++) > { > if((str1[j] >= 65)&&(str1[j] <= 80)) > str2.insert(str2.end(), c[str1[j] - 65]); > else if((str1[j] >= 82)&&(str1[j] <= 89)) > str2.insert(str2.end(), c[str1[j] - 66]); > else if((str1[j] >= 48)&&(str1[j] <= 57)) > str2.insert(str2.end(), str1[j]); > } > str.push_back(str2); > str1.erase(0, str1.length()); > str2.erase(0, str2.length()); > } > sort(str.begin(), str.end()); > bool Y = false; > for(vector<string>::iterator k = str.begin(); k < str.end(); ) > { > int count = 0; > vector<string>::iterator l = k + 1; > while((l < str.end())&&(*k == *l)) > { > Y = true; > count ++; > k ++; > l ++; > } > if(count != 0) > { > string s1 = *k; > for(int m = 0; m < 7; m ++) > { > if(m == 2) > { > printf("%c", s1[m]); > printf("-"); > } > else > printf("%c", s1[m]); > } > printf(" %d\n", count + 1); > } > k = l; > } > if(Y == false) > printf("No duplicates.\n"); > > return 0; > } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator