Pagini recente » Cod sursa (job #1168627) | Cod sursa (job #1305146) | Cod sursa (job #333953) | Monitorul de evaluare | Cod sursa (job #654952)
Cod sursa(job #654952)
#include<stdio.h>
#include<cstring>
#define maxn 257
#define maxs 32897
#define MOD 194767
FILE*f=fopen("1-sir.in","r");
FILE*g=fopen("1-sir.out","w");
int n,s,D1[maxs],D2[maxs],i,j;
inline int abs ( int j ){
if ( j < 0 )
return -j;
return j;
}
int main () {
fscanf(f,"%d %d",&n,&s); s = abs(s);
int N = (n*(n-1)>>1);
if ( s > N ){
fprintf(g,"%d\n",0);
return 0;
}
D1[0] = 1;
for ( i = 2 ; i <= n ; ++i ){
for ( j = 0 ; j <= N ; ++j ){
D2[j] = D1[abs(j-i+1)] + D1[abs(j+i-1)];
if ( D2[j] >= MOD ){
D2[j] -= MOD;
}
}
memcpy(D1,D2,sizeof(D2));
}
fprintf(g,"%d\n",D1[s]);
fclose(f);
fclose(g);
return 0;
}