Mai intai trebuie sa te autentifici.
Cod sursa(job #202453)
Utilizator | Data | 8 august 2008 16:37:44 | |
---|---|---|---|
Problema | 1-sir | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.64 kb |
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define NMAX 1060
#define SMAX 33000
#define SMIN 2
#define MOD 194767
int X[SMIN][SMAX];
int N,S;
int Smax[NMAX];
int main()
{
int i,j,a,c;
freopen("1-sir.in","rt",stdin);
freopen("1-sir.out","wt",stdout);
scanf("%d %d", &N, &S);
Smax[1]=0;
for (i=2;i<=N;++i)
Smax[i]=Smax[i-1]+(i-1);
memset(X,0,sizeof(X));
c=0;
X[c][SMAX]=1;
for (i=2;i<=N;++i)
{
a=c;
c=1-c;
for (j=0;j<=Smax[i];++j)
{
X[c][j+SMAX]=(X[a][j-i+1+SMAX]+X[a][j+i-1+SMAX])%MOD;
X[c][SMAX-j]=X[c][SMAX+j];
}
}
printf("%d\n", X[c][S+SMAX]);
return 0;
}