Cod sursa(job #108942)

Utilizator GagosGagos Radu Vasile Gagos Data 24 noiembrie 2007 11:20:17
Problema 1-sir Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<stdio.h>
#define I "1-sir.in"
#define O "1-sir.out"
struct nod{
	long int info;
	nod *s,*d;
};
nod *r;
long int n,s,nr_sol,sol;
nod *creare(long int i,long int val)
{
	nod *r;
	if(i<=n-1){
		r=new nod;
		r->info=val;
		r->s=creare(i+1,val-1);
		r->d=creare(i+1,val+1);
		return r;
	}
	else
		return NULL;
}
void rsd(nod *r,long int val)
{
	if(r!=NULL){
		val=val+r->info;
		rsd(r->s,val);
		rsd(r->d,val);
	}
	else
		if(val==s){
			++nr_sol;
			sol=nr_sol%194767;
		}
}
int main()
{
	FILE *f=fopen(I,"r");
	FILE *g=fopen(O,"w");
	fscanf(f,"%ld%ld",&n,&s);
	r=creare(1,0);
	rsd(r,1);
	rsd(r,-1);
	fprintf(g,"%ld\n",sol-1);
	fcloseall();
	return 0;
}