Cod sursa(job #2267737)

Utilizator ioana.jianuIoana Jianu ioana.jianu Data 23 octombrie 2018 22:46:58
Problema Tablete Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.35 kb
#include <iostream>
#include <stdio.h>

using namespace std;

const int NMAX = 1001;
int a[NMAX][NMAX];

int main() {

    freopen ("tablete.in", "r", stdin);
    freopen ("tablete.out", "w", stdout);


    int n, k, i, j, nr, pp, lin, col;

    scanf ("%d%d", &n, &k);

    nr = 1;
    pp = 0;
    for (i = 1; i <= n; i++)
        for (j = 1; j <= i; j++) {
            lin = i - j + 1;
            if (j == k && nr % 2 == 1) {
                a[lin][j] = nr + 1;
                pp = 1;
            }
            else {
                if (pp == 1)
                    a[lin][j] = nr - 1;
                else
                    a[lin][j] = nr;
                pp = 0;
            }
            nr++;
        }
    for (i = n - 1; i >= 1; i--)
        for (j = 1; j <= i; j++) {
            lin = n - j + 1;
            col = n - i + j;
            if (col == k && nr % 2 == 1) {
                a[lin][col] = nr + 1;
                pp = 1;
            }
            else {
                if (pp == 1)
                    a[lin][col] = nr - 1;
                else
                    a[lin][col] = nr;
                pp = 0;
            }
            nr++;
        }

    for (i = 1; i <= n; i++) {
        for (j = 1; j <= n; j++)
            printf ("%d ", a[i][j]);
        printf ("\n");
    }

    return 0;
}