Cod sursa(job #310783)

Utilizator mihaidutescuDutescu Mihai mihaidutescu Data 2 mai 2009 13:34:37
Problema Tablete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.32 kb
#include<stdio.h>
#include<iostream.h>
int main()
{
FILE *f=fopen("tablete.in","r"),*g=fopen("tablete.out","w");
int n,k,k2,j,i,aux;
fscanf(f,"%d%d",&n,&k);
if(n%2==0&&k%2==0)
for(i=1;i<=(n*n);i++)
{
 fprintf(g,"%d ",i);
 if(i%n==0)
	fprintf(g,"\n");
}
if(n%2==0&&k%2==1)
{
	for(i=1;i<=n;i++)
	 {
		k2=i;
		if(i%2==0)
			for(j=1;j<=n;j++)
			 if(j==k-1)
				{
				fprintf(g,"%d ",aux);
				k2=k2+n;

				}
			 else
				{
				 fprintf(g,"%d ",k2);
				 k2=k2+n;
				}
		 else
		 for(j=1;j<=n;j++)
		 {
			 if(j!=k)
				fprintf(g,"%d ",k2);
			 else
			 {
				fprintf(g,"%d ",k2-n+1);
				aux=k2;
			 }
			 k2+=n;
		 }
		 fprintf(g,"\n");
	}
}
if(n%2==1&&k%2==0)
{
k2=1;
	for(i=1;i<=n;i++)
	{
	 if(i%2==1)
		{
		if(i<2)
		{
		 for(j=1;j<=n;j++)
		 {
			fprintf(g,"%d ",k2);
			k2++;
		 }
		}
		else
		{
		fprintf(g,"%d ",k2-n-1);
		for(j=2;j<=n;j++)
		 {
			fprintf(g,"%d ",k2);
			k2++;
		 }
		}
		}
	 else
	 {
	 k2++;
		for(j=1;j<=n;j++)
		{
		 fprintf(g,"%d ",k2);
		 k2++;
		}
	 }
	 fprintf(g,"\n");
}
}
if(n%2==1&&k%2==1)
{
k2=1;
 for(i=1;i<n;i++)
 {
	for(j=1;j<=n;j++)
	{
	 if(j==2)
		k2++;
	 fprintf(g,"%d ",k2);
	 k2++;
	}
 fprintf(g,"\n");
 }
 k2=2;
 for(j=1;j<n;j++)
 {
	fprintf(g,"%d ",k2);
	k2+=n+1;
 }
 fprintf(g,"%d ",n*n);
}
return 0;
}