Cod sursa(job #952245)

Utilizator MIonutMistreanu Ionut MIonut Data 22 mai 2013 22:37:18
Problema Tablete Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.1 kb
#include<cstdio>
#define Nmax 1000005
#define Dim 1005
using namespace std;
short n, k;
unsigned v[Nmax], a[Dim][Dim];
int main()
{
    freopen("tablete.in", "r", stdin);
    scanf("%hd%hd",&n, &k);
    if(k%2)
    {
        int m=n*k, i, c;
        i=c=1;
        while(i<=m)
        {
            if(i%k==0 && c%2)
            {
                v[i]=c+1;
                ++i;
                v[i]=c;
                c+=2;
            }
            else v[i]=c++;

            i++;
        }
        c=1;
        for(int i=1; i<=n; ++i)
            for(int j=1; j<=n; ++j)
                if(j<=k) a[i][j]=v[c++];
                else a[i][j]=++m;
    }
    else
    {
        int c=1;
        for(int i=1; i<=n; ++i)
            for(int j=1; j<=k; ++j)
                a[i][j]=c++;
        for(int i=1; i<=n; ++i)
            for(int j=k+1; j<=n; ++j)
                a[i][j]=c++;
    }

    freopen("tablete.out", "w", stdout);
    for(int i=1; i<=n; ++i)
    {
        for(int j=1; j<=n; ++j)
            printf("%u ",a[i][j]);
        printf("\n");
    }
    return 0;
}