AOJ 0242 Input Candidates
問題概要
読める
方針
stringstream便利.
multimapで自動的にソートしてもらうようにした.
int main() { int n, i; char k; string s; vector<string> vs; map<string, int> ms; multimap<int, string> mi; while(~scanf("%d", &n), n) { cin.ignore(); for(i = 0; i < n; i++) { getline(cin, s); stringstream e(s); while(e >> s) vs.push_back(s); } scanf("%c", &k); for(i = 0; i < vs.size(); i++) if(vs[i][0] == k) ms[vs[i]]--; for(map<string, int> :: iterator it = ms.begin(); it != ms.end(); it++) mi.insert(make_pair(it -> second, it -> first)); i = 0; if(ms.empty()) printf("NA"); for(map<int, string>::iterator it = mi.begin(); it != mi.end() && i < 5; it++, i++) cout << (i ? " " : "") << (it -> second); puts(""); vs.clear(); ms.clear(); mi.clear(); } }