Cod sursa(job #231392)

Utilizator BlackjackmdsSpataru Madalin Daniel Blackjackmds Data 14 decembrie 2008 12:19:20
Problema Tablete Scor 40
Compilator cpp Status done
Runda Algoritmiada 2009, Runda 1, Clasele 9-10 Marime 1.61 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(k!=0) if(k!=n)         if(n%2==0) {  if(k%2==0)    { for(i=0;i<n;i++)
				      { fprintf(g,"%ld",n*i+1);

				      for(j=1;j<n;j++)
					    fprintf(g," %ld",n*i+j+1);
					fprintf(g,"\n");
				      }
				 }
			else      for(i=0;i<n;i=i+2)
				      { for(j=1;j<n;j++)
				      {    fprintf(g,"%ld",n*i+j+1);
					   fprintf(g," ");
				      }
					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");
				      }

		 }
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");
		    }
		 }
	else { for(i=0;i<n-3;i=i+4)
		 {
		  for(j=1;j<n;j++) fprintf(g,"%ld ",n*i+j+1);
		  fprintf(g,"%ld\n",n*(i+3));
		  fprintf(g,"%ld",n*(i+1)+1);
		  for(j=1;j<n;j++) fprintf(g," %ld",n*(i+1)+j+1);
		  fprintf(g,"\n");
		  fprintf(g,"%ld",n*i+1);
		  for(j=1;j<n;j++) fprintf(g," %ld",n*(i+2)+j);
		  fprintf(g,"\n");
		  fprintf(g,"%ld",n*(i+3)+1);
		  for(j=1;j<n;j++) fprintf(g," %ld",n*(i+3)+j+1);
		 }
	       i=n-3;
		  for(j=1;j<n;j++) fprintf(g,"%ld ",n*i+j+1);
		  fprintf(g,"%ld\n",n*(i+3));
		  fprintf(g,"%ld",n*(i+1)+1);
		  for(j=1;j<n;j++) fprintf(g," %ld",n*(i+1)+j+1);

	     }

    }
return 0;
fclose(g);
}