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 |
谁能告诉我这个程序为什么错了#include <iostream> #include <map> #include <algorithm> #include <string> using namespace std; const MAX = 1000; string words[MAX]; string ordered[MAX]; map<string, string> prefix; int diffrentPlace(string s1, string s2){ //s1 < s2 for(int i = 0; i < s1.size(); i++) if(s1[i] != s2[i]) return i; return i - 1; } int main(){ int i, num = 0; while(cin>>words[num]){ ordered[num] = words[num]; num++; } sort(ordered, ordered + num); int same1 = diffrentPlace(ordered[0], ordered[1]); int same2 = diffrentPlace(ordered[0], ordered[1]); prefix[ordered[0]] = ordered[0].substr(0, same1 + 1); for(i = 1; i < num - 1; i++){ if(same1 == ordered[i-1].size() - 1) same1++; same2 = diffrentPlace(ordered[i], ordered[i+1]); prefix[ordered[i]] = ordered[i].substr(0, 1 + (same1 > same2 ? same1 : same2)); same1 = same2; } if(ordered[i - 1].size() - 1 == same2) same2++; prefix[ordered[i]] = ordered[i].substr(0, same2 + 1); for(i = 0; i < num; i++) cout<<words[i]<<' '<<prefix[words[i]]<<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