Cod sursa(job #237041)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 28 decembrie 2008 22:51:00
Problema Dusman Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<stdio.h>
#define Nmax 1001
#define f(i,j,n) for(i=j;i<=n;i++)
FILE *f=fopen("tablete.in","r"),*g=fopen("tablete.out","w");
int a[Nmax][Nmax],n,k,p,r,i,j;
char v[Nmax*Nmax];
int main()
{
	p=k;r=0;
	if(p&1) p++,r=1;
	a[1][k]=p;v[p]=1;
	f(i,2,n)
	{
		p+=k-r;
		r=p-i*k;
		if(p&1)
			if(r)p--,r--;
			else p++,r++;
		v[p]=1;a[i][k]=p;
	}
	p=1;
	f(i,1,n)
		f(j,1,k-1)
		{
			while(v[p]) p++;
			a[i][j]=p;
		}
	f(1,1,n)
		f(j,K=1,n)
		{
			while(v[p]) p++;
			a[i][j]=p++;
		}
	f(i,1,n)
	{
		f(j,1,n)
			fprintf(g,"%d",a[i][j])
		fprintf(g,"\n");
	}
	return 0;
}