Submission

Status:
PPP-PPPPP-

Score: 80

User: Nagorn

Problemset: G.Peach's Backpack

Language: cpp

Time: 0.180 second

Submitted On: 2024-10-14 14:35:35

#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) {
            cha += x * y;
            printf("%d ", z);
            continue;
        }
        for (int i = k - 1; i < k + x - 1; i++) {
            int temp = 0;
            for (int j = mx + y - 1; j > mx - 1; j--) {
                b[j][i] = 'A' + ((cha + (temp * x)) % 26);
                temp++;
            }
            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");
    }
}