Cod sursa(job #6935)

Utilizator bughyBondane Bogdan bughy Data 21 ianuarie 2007 10:58:12
Problema 1-sir Scor 10
Compilator cpp Status done
Runda preONI 2007, Runda 1, Clasele 11-12 Marime 0.96 kb
#include <stdio.h>

#define input "1-sir.in"
#define output "1-sir.out"
#define dimmax 260

long n,s,rez[dimmax],rezultat;

void back(long k,long suma);

int main()
{
    freopen(input,"r",stdin);
    freopen(output,"w",stdout);
    scanf("%ld%ld",&n,&s);
    rez[0]=1;
    rez[1]=0;
    if(n<30)
    {
    back(2,0);
    
    printf("%ld",rezultat%194767);
    }
    else
    printf("0");    
    
    return 0;
}

void back(long k,long suma)
{
    for(int i=-1;i<=1;i+=2)
       {
           ++rez[0];
           rez[rez[0]]=rez[rez[0]-1]+i;
           if(suma+rez[rez[0]]==s&&k==n)
           {
           /*  for(int j=1;j<=rez[0];j++)
               printf("%ld ",rez[j]);
             printf("\n");*/
             rezultat++;
           }    
           else
           {
             if(k<n)
                back(k+1,suma+rez[rez[0]]);
           }
           --rez[0];    
       }
}