Cod sursa(job #1884026)

Utilizator borscalinCalin-Stefan Georgescu borscalin Data 18 februarie 2017 13:40:07
Problema Tablete Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <iostream>
#include <fstream>
#define NMAX 1000

using namespace std;

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

int a[1 + NMAX + 1][1 + NMAX + 1];

int main() {
    int n,k,l,c,aux,v;
    fin >> n >> k;
    if (k & 1 == 0) {
        for (l=1; l<=n; ++l)
            for (c=1; c<=k; ++c)
                a[l][c] = (l - 1) * k + c;
    } else {
        for (l=1; l<=n; ++l)
            for (c=1; c<=k; ++c)
                a[l][c] = (l - 1) * k + c;
        for (l=1; l<n; l+=2) {
            aux = a[l][k];
            a[l][k] = a[l + 1][1];
            a[l + 1][1] = aux;
        }
        if (l == n)
            a[l][k] = n * k + 1;
    }
    v = n * k + 1;
    for (l=1; l<=n; ++l)
        for (c=k+1; c<=n; ++c)
            a[l][c] = v++;
    for (l=1; l<=n; ++l) {
        for (c=1; c<=n; ++c)
            fout << a[l][c] << ' ';
        fout << '\n';
    }
    return 0;
}