Cod sursa(job #205984)
Utilizator | Data | 3 septembrie 2008 20:44:08 | |
---|---|---|---|
Problema | 1-sir | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.47 kb |
#include <stdio.h>
int n, s, a1[65000], a2[65000];
int ab(int x) { return x >= 0 ? x : (-x);}
int main()
{
freopen("1-sir.in","r",stdin);
freopen("1-sir.out","w",stdout);
int i, j, k, m;
scanf("%d %d",&n,&s);
m = (n * (n - 1)) / 2;
a1[0] = 1;
for (i = 1; i <= n; i++)
{
for (j = 0; j <= m; j++)
a2[j] = a1[ab(j - i + 1)] + a1[ab(j + i - 1)];
for (j = 0; j <= m; j++) a1[j] = a2[j];
}
printf("%d\n",a1[ab(s)] / 2);
return 0;
}