Cod sursa(job #228098)
| Utilizator | Data | 6 decembrie 2008 14:14:48 | |
|---|---|---|---|
| Problema | 1-sir | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <stdio.h>
long v[3][66000], n, i, j, k, s;
long ab(long a)
{
if(a<0) return -a;
return a;
}
int main()
{
freopen("1-sir.in", "r", stdin);
freopen("1-sir.out", "w", stdout);
scanf("%d", &n, &s);
if(s<0) s*=-1;
v[1][0]=1;
for(i=2; i<=n; i++)
{
for(j=-(n*n)/2; j<=(n*n)/2; j++)
{
v[i%2][ab(j)] =v[(i-1)%2][ab(j-i+1)];
v[i%2][ab(j)]+=v[(i-1)%2][ab(j+i-1)];
if(j==0) v[i%2][j]=v[i%2][j]/2;
}
}
printf("%d\n", (v[n%2][s])%194767);
return 0;
}
