Cod sursa(job #2031108)

Utilizator ana.pintiliciucAna Maria Pintiliciuc ana.pintiliciuc Data 2 octombrie 2017 19:04:25
Problema Tablete Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <cstdio>
#include <iostream>
using namespace std;

int n,k, a[1001][1001], fr[1001], y,x, j, nr;
int main()
{
    freopen("tablete.in", "r", stdin);
    freopen("tablete.out", "w", stdout);

    scanf("%d %d", &n, &k);
    y=1;
    for(j=1; j<=n; j++)
    {
        x=y;

        for(int i=x; i<=n*n && nr<n; i++)
        {
            if(nr==k-1 && i%2==1 && fr[i+1]==0)
            {
                a[j][k]=i+1;
                y=i;
                fr[i+1]++;
                nr++;
            }
            else if(fr[i]==0)
            {
                nr++;
                a[j][nr]=i;
                fr[i]++;
            }
        }
        if(j==n-1)
        {
            fr[a[n-1][n]]--;
                a[n-1][n]=n*n;
                fr[n*n]++;
        }
        nr=0;
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
            printf("%d ", a[i][j]);
        printf("\n");
    }


    return 0;
}