Cod sursa(job #252014)

Utilizator raica_cristiraica dumitru cristian raica_cristi Data 3 februarie 2009 19:48:53
Problema Tablete Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include<stdio.h>
#define p 1001
int n,m,k,i,a[p][p],j,l;
int val[1000001];
void afis()
{
     int i,k;
     for(i=1;i<=n;i++,printf("\n"))
     for(k=1;k<=n;k++)
     printf("%d ", a[i][k]);
}
void fill(int w)
{
     int x=1;
     if(w==1)
     {
             
             for(i=1;i<=n;i++)
             for(j=1;j<=k;j++,x++)
          {   a[i][j]=x;
          val[x]=1;
           }l=1;
          for(i=1;i<=n;i++)
          for(j=k+1;j<=n;j++)
          {for(l;l<=n*n;l++)
          if(val[l]==0)
          {val[l]=1;
          a[i][j]=l;
           break;
          }
          }
          afis();
}
}
int main ()
{
    freopen("tablete.in","r",stdin);
    freopen("tablete.out","w",stdout);
    scanf("%d%d",&n,&k);
    if(n%2==0 && k%2==0)
    fill(1);
    else
    if(n%2==1 && k%2==0)
    fill(2);
    else
    fill(3);
return 0;
}