Cod sursa(job #30455)
Utilizator | Radu Gabriel mike4problems | Data | 13 martie 2007 23:34:00 |
---|---|---|---|
Problema | 1-sir | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.45 kb |
#include<stdio.h>
FILE *f;
#define In "1-sir.in"
#define Out "1-sir.out"
#define M (255*256/2)
int sol[2][M];
int N,S,s,n,p,q;
#define abs(x) ((x)>0?(x):-(x))
int main()
{
f=fopen(In,"r");
fscanf(f,"%d%d",&N,&S);
sol[1][0]=1; S=abs(S);
for(n=1;n<N;n++)
{
q=n%2; p=!q;
for(s=0;s<=S;s++)
sol[p][s]=sol[q][abs(s-n)]+sol[q][s+n];
}
freopen(Out,"w",f);
fprintf(f,"%d\n",sol[p][S]);
fclose(f);
return 0;
}