Submission
Status:
------P-P-
Score: 20
User: Nagorn
Problemset: G.Peach's Backpack
Language: cpp
Time: 0.149 second
Submitted On: 2024-10-14 14:24:34
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, m, q, cha = 0;
scanf("%d%d", &n, &m);
scanf("%d", &q);
string c(n, '.');
vector<string> b(m, c);
vector<int> a(n, 0);
for (int z = 1; z <= q; z++) {
int x, y, k, mx = 0;
scanf("%d%d%d", &x, &y, &k);
for (int i = k - 1; i < min(k + x - 1, m + 1); i++) mx = max(mx, a[i]);
if (k + x - 2 >= n or mx + y > m) {
printf("%d ", z);
continue;
}
for (int i = k - 1; i < k + x - 1; i++) {
for (int j = mx + y - 1; j > mx - 1; j--) {
b[j][i] = 'A' + ((cha + x * (mx - 1 - j) + 1) % 26);
}
cha++;
a[i] = mx + y;
}
cha += x * (y - 1);
}
printf("\n");
for (int i = b.size() - 1; i >= 0; i--) {
cout << b[i];
printf("\n");
}
}
// 5 3
// 4
// 1 1 4
// 3 2 2
// 1 2 3
// 1 2 1