Cod sursa(job #233496)

Utilizator BlackjackmdsSpataru Madalin Daniel Blackjackmds Data 17 decembrie 2008 23:10:18
Problema Tablete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.45 kb
#include <stdio.h>
FILE *f,*g;
int main()
{
long int n,k,i,j ;

f=fopen("tablete.in","r");
fscanf(f,"%ld",&n);
fscanf(f,"%ld",&k);
fclose(f);
g=fopen("tablete.out","w");
if(n%2==0) { if(k%2==0)   for(i=0;i<n;i++)
			   { for(j=0;j<n;j++) fprintf(g,"%ld ",n*i+j+1);
			    fprintf(g,"\n");
			   }
		 else  for(i=0;i<n;i=i+2)
		       { fprintf(g,"%ld",n*i+1);
			 for(j=1;j<n-1;j++) fprintf(g," %ld",n*i+j+2);
			 fprintf(g," %ld\n",n*(i+2));
			 fprintf(g,"%ld",n*i+2);
			 for(j=1;j<n;j++) fprintf(g," %ld",n*(i+1)+j);
			 fprintf(g,"\n");
		       }
	  }
     else { if(k%2==0){ for(i=0;i<n-1;i=i+2)
			 {for(j=1;j<n;j++) fprintf(g,"%ld ",n*i+j);
			 fprintf(g,"%ld\n",n*(i+2));
			 fprintf(g,"%ld",n*(i+1));
			  for(j=1;j<n;j++) fprintf(g," %ld",n*(i+1)+j);
			 fprintf(g,"\n");
			 }
		       for(j=1;j<n;j++) fprintf(g,"%ld ",n*(n-1)+j);
		       fprintf(g,"%ld",n*n);
		      }
	      else    {for(i=0;i<n-3;i=i+2)
			 {fprintf(g,"%ld",n*i+1);
			 for(j=1;j<n;j++) fprintf(g," %ld",n*i+j+2);
			  fprintf(g,"\n%ld",n*i+2);
			 for(j=1;j<n;j++) fprintf(g," %ld",n*(i+1)+j+1);
			  fprintf(g,"\n");
			 }
			 fprintf(g,"%ld",n*(n-3)+1);
			 for(j=1;j<n;j++) fprintf(g," %ld",n*(n-3)+j+2);
			 fprintf(g,"\n%ld",n*(n-3)+2);
			 for(j=1;j<n-1;j++) fprintf(g," %ld",n*(n-2)+j+1);
			 fprintf(g," %ld\n",n*n);
			 fprintf(g,"%ld",n*(n-1));
			 for(j=1;j<n;j++) fprintf(g," %ld",n*(n-1)+j);
		     }
	  }
return 0;
fclose(g);
}