Cod sursa(job #289329)

Utilizator Ionut_infoNicoara Ionut Ionut_info Data 26 martie 2009 17:58:48
Problema Tablete Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.1 kb
#include<stdio.h>
#include<stdio.h>
FILE *in=fopen("tablete.in","r");
FILE *out=fopen("tablete.out","w");
long int n,nr,a[1005][1005],k,i,j,ramas;
int main()
{
fscanf(in,"%ld",&n);
fscanf(in,"%ld",&k);
if(n%2==0&&k%2==0)
	{
	nr=0;
	for(i=1;i<=n;i++)
		{
		for(j=1;j<=n;j++)
			{
			fprintf(out,"%ld ",++nr);
			}
		fprintf(out,"\n");
		}
	}
if(n%2==0&&k%2==1)
	{
	nr=1;ramas=1;
	for(i=1;i<=n-1;i++)
		{
		fprintf(out,"%ld ",ramas);
		for(j=2;j<=n;j++)
			{
			if(j==n&&i==n-1) fprintf(out,"%ld ",n*n);
			else
			{
			nr++;
			if(j==k&&nr%2==1)
				{
				ramas=nr;
				nr++;
				}
			fprintf(out,"%ld ",nr);
			}
			}
		fprintf(out,"\n");
		}
	fprintf(out,"%ld ",ramas);
	for(i=2;i<=n;i++) fprintf(out,"%ld ",++nr);
	}
if(n%2==1&&k%2==0)
	{
	ramas=1;nr=1;
	for(i=1;i<=n;i++)
		{
		if(i%2==1)
			{
			fprintf(out,"%ld ",ramas);nr++;
			for(j=2;j<=n;j++)
				{
				fprintf(out,"%ld ",nr++);
				}
			}
		if(i%2==0)
			{
			ramas=nr;
			nr++;
			for(j=1;j<=n;j++)
				{
				fprintf(out,"%ld ",nr++);
				}
			nr--;
			}
		fprintf(out,"\n");
		}
	}
return 0;
}