Cod sursa(job #27223)
| Utilizator | Data | 6 martie 2007 11:38:21 | |
|---|---|---|---|
| Problema | 1-sir | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.65 kb |
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define nmax 260
#define smax(x) (x*(x-1)/2)
int n,s,i,j,d[2][smax(nmax)],tr;
int main()
{
freopen("1-sir.in","r",stdin);
freopen("1-sir.out","w",stdout);
scanf("%d%d",&n,&s);
d[tr][0]=1;
for (i=2;i<=n;i++)
{
tr=1-tr;
memset(d[tr],0,sizeof(d[tr]));
for (j=0;j<=smax(i);j++)
{
d[tr][j]=d[1-tr][j+i-1];
if (j>i-1)
d[tr][j]+=d[1-tr][j-i+1];
else
d[tr][j]+=d[1-tr][i-1-j];
}
}
printf("%d\n",d[tr][s]);
return 0;
}
