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