题目描述
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6bceb9f3b62f7c90bbd240dc7a8f2c81.png)
题目解析
#include<bits/stdc++.h>
using namespace std;
void process(int total, int k, std::vector<std::vector<string>> nums){
std::string str;
int remove = 0;
while (remove < total){
for (auto & num : nums) {
for (int j = 0; j < k && !num.empty(); ++j) {
str += *num.begin()+ ",";
num.erase(num.begin());
remove++;
}
}
}
if(!str.empty()){
str.pop_back();
}
std::cout << str << "\n";
}
vector<string> Split(string input, string pattern) {
vector<string> output;
string::size_type pos;
input += pattern;
for (int i = 0; i < input.size(); i++) {
pos = input.find(pattern, i);
if (pos < input.size()) {
string s = input.substr(i, pos - i);
if ((s != " ") && (!s.empty())) {
output.push_back(s);
}
i = pos + pattern.size() - 1;
}
}
return output;
}
int main(int argc, char **argv)
{
int k, n, total = 0;
std::cin >> k >> n;
std::string str;
vector<vector<string> > vec;
for (int i = 0; i < n; ++i) {
std::cin >> str;
auto t1 = Split(str, ",");
vec.push_back(t1);
total += t1.size();
}
process(total, k, vec);
}