原题 华中科技大学考研机试题 3613. 最长&最短文本
输入多行字符串,请按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。
利用map<int, vector<string>>
#include <iostream>
#include <vector>
#include <map>
using namespace std;
map<int, vector<string>> mv;
int main() {
string str;
while (cin >> str) {
mv[str.size()].push_back(str);
}
map<int, vector<string>>::iterator itr;
itr = mv.begin();
// cout << itr->first << ' ';
for (auto item : itr->second) {
cout << item << endl;
}
itr = mv.end();
itr--;
for (auto item : itr->second) {
cout << item << endl;
}
return 0;
}