Cod sursa(job #1889346)

Utilizator ApostolIlieDanielApostol Daniel ApostolIlieDaniel Data 22 februarie 2017 18:04:19
Problema Tablete Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <stdio.h>
const int MAX = 1001;
int a[MAX][MAX];
char val[MAX * MAX];
int main()
{
    FILE *fin, *fout;
    int n, k, i, nr, j;
    fin = fopen ("tablete.in", "r");
    fout = fopen ("tablete.out", "w");
    fscanf (fin, "%d%d", &n, &k);
    for ( i = 1; i <= n; i++) {
        a[i][k] = i * k + (i * k) % 2;
        val[i * k + (i * k) % 2] = 1;
    }
    nr = 1;
    for ( i = 1; i <= n ;i++)
        for ( j = 1; j < k; j++)
        {
            nr = nr + val[nr];
            a[i][j] = nr;
            nr++;
        }
    nr = a[n][k] + 1;
    for ( i = 1; i <= n ;i++)
        for ( j = k + 1; j <= n; j++)
        {
            a[i][j] = nr;
            nr++;
        }
    for ( i = 1; i <= n ;i++)
    {
        for ( j = 1; j <= n ; j++)
            fprintf (fout, "%d ", a[i][j]);
        fprintf (fout, "\n");
    }
    fclose (fin);
    fclose (fout);
    return 0;
}