Cod sursa(job #1194)

Utilizator Binary_FireFlorin Pg Binary_Fire Data 12 decembrie 2006 20:30:01
Problema Lacate Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<stdio.h>
#define fin "lacate.in"
#define fout "lacate.out"
#define NMAX 300
long n,l,c,sol[NMAX][NMAX];
FILE *in,*out;

int main() {
long i,j,p,last;
	in=fopen(fin,"r"); out=fopen(fout,"w");

	fscanf(in,"%ld",&n);
	
	c=n-1; l=c*(c+1)/2;
	
	sol[2][1]=1; p=0; last=c;
	
	for (i=1;i<=c;i++) sol[1][i]=i;
	
	for (i=2;i<=n;i++) { 
		
		p++;

		for (j=1;j<=c;j++) {

			if (j==p) sol[i][j]=sol[i-1][j];

			if (j<p) sol[i][j]=sol[i-1][j]+1;

			if (j>p) sol[i][j]=++last;

		}
		
	}

	fprintf(out,"%ld %ld\n",l,c);

	for (i=1;i<=n;i++) {

	for (j=1;j<=c;j++)

		fprintf(out,"%ld ",sol[i][j]);
	
	fprintf(out,"\n");

	}

	fclose(in); fclose(out);

return 0;
}