哔哩哔哩后台服务器端笔试--第三题 20%啥情况啊
#include <iostream> #include <string> #include <vector> #include <map> using namespace std; void splitstring(const string& srcstr, vector<string>& vec, const string& separator) { string::size_type possubstringstart; string::size_type posseparator; posseparator = srcstr.find(separator); possubstringstart = 0; while (string::npos != posseparator) { vec.push_back(srcstr.substr(possubstringstart, posseparator - possubstringstart)); possubstringstart = posseparator + separator.size(); posseparator = srcstr.find(separator, possubstringstart); } if (possubstringstart != srcstr.length()) vec.push_back(srcstr.substr(possubstringstart)); } int main() { vector<string> input, input1; string tmp; map<string, string> mpout; getline(cin, tmp, '\n'); splitstring(tmp, input, " "); string tmp1 = input[0]; string tmp2 = input[1]; splitstring(input[2], input1, tmp1); int len = input1.size(); cout << len << endl; for (int i = 0; i < len; i++) { //cout << input1[i] << endl; vector<string> input2; splitstring(input1[i], input2, tmp2); mpout.insert(pair<string, string>(input2[0], input2[1])); } for (map<string, string>::iterator it = mpout.begin(); it != mpout.end(); it++) { if (!it->first.empty() && !it->second.empty()) cout << it->first << " " << it->second << endl; } return 0; }
#笔试题目##哔哩哔哩#