?
ZOJ 3700 Ever Dream(模拟)(二)
tr = ; } } else str += s[j]; } else { if(s[j] >= 'A' && s[j] <= 'Z') s[j] = (s[j] + 32); str += s[j]; } } if(str.length() > 0) { if(mp[str] == 0) mp[str] = 1; else mp[str]++; max_cnt = max(max_cnt, mp[str]); str = ; } } int flag = 0; for(int i = max_cnt; i >= 2; i--) { ans.clear(); int max_len = 0; for(it = mp.begin(); it != mp.end(); it++) { if(it->second == i) { // 找出长度为i的最长字符串 if((it->first.length()) > max_len) { max_len = it->first.length(); ans.clear(); ans.insert(it->first); } else if(it->first.length() == max_len) ans.insert(it->
first); } } if(ans.size() == 1) { if(flag) cout << ; cout << *ans.begin(); flag = 1; } else { if(ans.size() >= 2) { set
::iterator sit = ans.end(); sit--; sit--; if(flag) cout << ; cout << *sit; flag = 1; } } } cout << endl; } return 0; }