Cod sursa(job #384461)

Utilizator dead_knightTitei Paul Adrian dead_knight Data 20 ianuarie 2010 08:41:38
Problema Tablete Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.11 kb
#include<iostream>
#include<fstream>
#include<cstdio>
#include<algorithm>
using namespace std;
int a[1005][1005],n,k;
int main()
{
    freopen("tablete.in","r",stdin);
    freopen("tablete.out","w",stdout);
    scanf("%d%d",&n,&k);
    int i,j,pun=1,depus=-1;
    for(i=1;i<=n;i++)
    {
        if(depus>0)
            a[i][1]=depus,j=2;
        else
            j=1;
        for(j;j<k;j++)
        {
            a[i][j]=pun;
            pun++;
        }
        if(pun%2==0)
            a[i][k]=pun,depus=-1;
        else
        {
            depus=pun;
            pun++;
            a[i][k]=pun;
        }
        pun++;
    }
    if(k<n)
    {
        if(depus>0)
        {
            a[1][k+1]=depus,j=k+2;
            for(j=k+2;j<=n;j++)
            {
                a[1][j]=pun;
                pun++;
            }
        }
        for(i=1;i<=n;i++)
        {
            for(j=k+1;j<=n;j++)
            {
                a[i][j]=pun;
                pun++;
            }
        }
    }

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