Pagini recente » Cod sursa (job #319830) | Cod sursa (job #1364927) | Cod sursa (job #1071710) | Cod sursa (job #1751326) | Cod sursa (job #108942)
Cod sursa(job #108942)
#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;
}