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:给几个数据给大家。借鉴In Reply To:Re:给几个数据给大家。借鉴 Posted by:lpms26086 at 2009-08-05 18:00:46 没有炫耀的意思,我是来盖楼滴! #include <iostream> #include <string> #include <vector> #include <algorithm> // STL sort function using namespace std; char map[] = "2223334445556667#77888999#"; //ABCDEFGHIJKLMNOPQRSTUVWXYZ void visited(char &ch) // visit and format strings { if (ch >= 'A' && ch <= 'Z') ch=map[ch-'A']; // ch equals to its real number } int main() { int N,i=0,j,flag=0; string s; vector<string> stored(100000); // be visited & stored (up to 100,000) cin>>N; vector<int> counter(N,1); // stored times for (; i<N; i++) { cin>>s; for (j=0; j<s.length(); j++) // MSDN { visited(s[j]); if (s[j]!='-') { stored[i] += s[j]; if (stored[i].length()==3) stored[i] += '-'; // 487 -[3] 3279 } } } sort(stored.begin(),stored.begin()+N); // Quicker than QuickSort! // should not used stored.end() ! i=0; j=1; while (i<N) { while(stored[i] == stored[j]) { counter[i]++; j++; flag=1; } i=j; j++; } if (flag) for (i=0; i<N; i++) { if (counter[i]>1) cout<<stored[i]<<" "<<counter[i]<<endl; } // must have { } else cout<<"No duplicates."<<endl; return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator