Cod sursa(job #654949)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 31 decembrie 2011 13:38:12
Problema 1-sir Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<stdio.h>

#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);
	
	if ( s > (n*(n-1)>>1) ){
		fprintf(g,"%d\n",0);
		return 0;
	}
	
	D1[1] = 1;
	for ( i = 3 ; i <= n ; ++i ){
		for ( j = 0 ; j <= s ; ++j ){
			D2[j] = D1[abs(j-i+1)] + D1[abs(j+i-1)];
			if ( D2[j] >= MOD )	D2[j] -= MOD;
		}
		
		for ( j = 0 ; j <= s ; ++j ){
			D1[j] = D2[j]; D2[j] = 0;
		}
	}
	
	fprintf(g,"%d\n",D1[s]);
	
	fclose(f);
	fclose(g);
	
	return 0;
}