#include <iostream>
#include <deque>
#include <string>
#include <sstream>
#include <algorithm>
#include <vector>
class A {
public:
std::vector<int> white;
int black;
static int K;
int ind;
A(int b) : black(b + 1), ind(0), white(K + 1) {}
void add(int x) {
white[ind] = x + 1;
ind++;
}
bool isFilled() {
return ind >= K;
}
std::string toString() {
white[K] = black;
std::sort(white.begin(), white.end());
std::ostringstream oss;
for (int i = 0; i < K; i++) {
oss << white[i] << " ";
}
oss << white[K];
return oss.str();
}
};
int A::K;
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
std::deque<A> bs, ans;
std::deque<int> ws;
std::string line;
std::getline(std::cin, line);
std::istringstream iss(line);
int N;
iss >> N;
iss >> A::K;
std::getline(std::cin, line);
std::string S = line;
for (int i = 0; i < N; i++) {
if (S[i] == 'b') {
ws.push_back(i);
while (!bs.empty() && !ws.empty()) {
while (!bs.empty() && !bs.back().isFilled() && !ws.empty()) {
bs.back().add(ws.back());
ws.pop_back();
}
if (!bs.empty() && bs.back().isFilled()) {
ans.push_back(bs.back());
bs.pop_back();
}
}
} else {
bs.push_back(A(i));
while (!bs.empty() && !ws.empty()) {
while (!bs.empty() && !bs.back().isFilled() && !ws.empty()) {
bs.back().add(ws.back());
ws.pop_back();
}
if (!bs.empty() && bs.back().isFilled()) {
ans.push_back(bs.back());
bs.pop_back();
}
}
}
}
while (!ans.empty()) {
std::cout << ans.back().toString() << "\n";
ans.pop_back();
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |