Cod sursa(job #17471)
| Utilizator | Data | 15 februarie 2007 23:11:09 | |
|---|---|---|---|
| Problema | 1-sir | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include <cstdio>
using namespace std;
int suma,N,S,sol[257],r=0;
int back(int i) {
suma=suma+sol[i];
if ((i==N) && (suma==S)) r++;
else {
sol[i+1]=sol[i]-1;
back(i+1);
suma=suma-sol[i+1];
sol[i+1]=sol[i]+1;
back(i+1);
}
return 1;
}
int main() {
freopen("1-sir.in","r",stdin);
scanf("%d %d",&N,&S);
sol[1]=0;
back(1);
freopen("1-sir.out","w",stdout);
printf("%d",r);
return 0;
}
