Cod sursa(job #1942626)

Utilizator adriannicolaeAdrian Nicolae adriannicolae Data 28 martie 2017 09:31:31
Problema Tablete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <fstream>

using namespace std;
ifstream cin("tablete.in");
ofstream cout("tablete.out");
const int MAX = 1001;
int a[MAX][MAX], n, k;
char v[MAX * MAX];
int main()
{
    cin >> n >> k;
    for(int i = 1; i <= n; ++i) {
        if(k * i % 2 == 0) {
            a[i][k] = k * i;
            v[k * i] = 1;
        } else {
            a[i][k] = k * i + 1;
            v[k * i + 1] = 1;
        }
    }
    int cur = 1;
    for(int i = 1; i <= n; ++i) {
        for(int j = 1; j < k; ++j) {
            while(v[cur] == 1) {
                ++cur;
            }
            a[i][j] = cur;
            ++cur;
        }
    }
    cur = n * n;
    for(int i = n; i >= 1; --i) {
        for(int j = n; j > k; --j) {
            while(v[cur] == 1) {
                --cur;
            }
            a[i][j] = cur;
            --cur;
        }
    }
    for(int i = 1; i <= n; ++i) {
        for(int j = 1; j <= n; ++j) {
            cout << a[i][j] << ' ';
        }
        cout << '\n';
    }
    return 0;
}