Cod sursa(job #11863)

Utilizator Binary_FireFlorin Pg Binary_Fire Data 1 februarie 2007 23:17:46
Problema 1-sir Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<stdio.h>
#define fin  "1-sir.in"
#define fout "1-sir.out"
#define Mod 194767
#define Nmax 32896
int n,s,sol,x[1000],mat[100][100];
FILE *in,*out;

void go(int p,int S,int last) {
int i;
	if (p==n+1) { 
		if (S==s) {
			++sol;
	       		//for (i=1;i<=n;++i) printf("%i ",x[i]);
			//printf("\n");
		}
	}
	else {
		x[p]=last-1; go(p+1,S+last-1,last-1);
		x[p]=last+1; go(p+1,S+last+1,last+1);
	}
}

int main() {
int i,j;
	in=fopen(fin,"r"); out=fopen(fout,"w");
	
	fscanf(in,"%i%i",&n,&s);	
	
	for (i=1;i<=10;++i)
	for (j=0;j<=i*(i+1)/2;++j) {
		n=i; s=j;
		sol=0;
		go(2,0,0);
		mat[i][j]=sol;
	}

	for (i=1;i<=n;++i) {
	
		for (j=0;j<=20;++j) printf("%i ",mat[i][j]);

		printf("\n");
	}

	printf("%i\n",sol);

	fclose(in); fclose(out);

	return 0;
}