Cod sursa(job #3356676)

Utilizator rares89_Dumitriu Rares rares89_ Data 3 iunie 2026 03:49:24
Problema Tablete Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("tablete.in");
ofstream fout("tablete.out");

int main() {
    int n, k;
    fin >> n >> k;

    vector<int> E(n + 1);
    vector<bool> used(n * n + 1, false);

    for (int i = 1; i <= n; ++i) {
        int val = i * k;
        if (val % 2 != 0) {
            val++;
        }
        E[i] = val;
        used[val] = true;
    }

    vector<int> R;
    for (int i = 1; i <= n * n; ++i) {
        if (!used[i]) {
            R.push_back(i);
        }
    }

    int idx_left = 0;
    int idx_right = n * (k - 1);

    for (int i = 1; i <= n; ++i) {
        for (int j = 1; j < k; ++j) {
            fout << R[idx_left++] << " ";
        }
        
        fout << E[i] << (k == n ? "" : " ");
        
        for (int j = k + 1; j <= n; ++j) {
            fout << R[idx_right++] << (j == n ? "" : " ");
        }
        fout << "\n";
    }

    return 0;
}