Cod sursa(job #257223)

Utilizator dexter_dexMutascu Adrian - Dragos dexter_dex Data 12 februarie 2009 22:16:17
Problema Tablete Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include<stdio.h>

long n,k,i,j,x=0,ok;
int v[1000000];
long mat[1000][1000];

void init ()

{for (i=1;i<=n*n;i++)
   v[i]=1;
}

int main()
{


FILE*f=fopen("tablete.in","r");
FILE*g=fopen("tablete.out","w");


fscanf(f,"%ld %ld",&n,&k);


if (k%2==0) for (i=1;i<=n*n;i++)
		  {
		   fprintf(g,"%ld ",i);
		   if (i%n==0) fprintf(g,"\n");
		   }


else if (k%2==1)

    {
     for (i=1;i<=n;i++)

	for(j=1;j<=k;j++)
	    {++x;
	     if (v[x]!=0) while (v[x]!=0) x++;
	     if (v[x]==0)    {
			      if (i%2==1&&j%k==0) {mat[i][j]=x+1;
						   v[x+1]=1;
						   x--;}
				 else {mat[i][j]=x;
				       v[x]=1;}
			     }

	    }


     for (i=1;i<=n;i++)

	 for (j=k+1;j<=n;j++)

	     {++x;
	      mat[i][j]=x;}



     for (i=1;i<=n;i++)
	 {for (j=1;j<=n;j++) fprintf(g,"%ld ",mat[i][j]);
	  fprintf(g,"\n");}



    }



fclose(f);
fclose(g);
return 0;
}