Pagini recente » Cod sursa (job #3122507) | Cod sursa (job #1509851) | Cod sursa (job #792874) | Cod sursa (job #1549200) | Cod sursa (job #785114)
Cod sursa(job #785114)
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
const int M = 194767;
const int Max = 100010;
int N,S,Smax,D[2][Max];
int main()
{
ifstream F("1-sir.in");
ofstream G("1-sir.out");
F>>N>>S;
Smax=( N*(N-1) )/2;
if( abs(S)>Smax )
{
G<<"0";
return 0;
}
D[1][0]=1;
for( int i=2; i<=N; ++i)
for (int j=0; j<=Smax; ++j)
D[ i&1 ][j]=D[ i&1^1 ][ j+i-1 ]+D[ i&1^1 ][ abs( j-i+1 ) ],
D[ i&1 ][j]=D[ i&1 ][j] > M ? D[ i&1 ][j]-M : D[ i&1 ][j];
G<<D[ N&1 ][S]<<'\n';
return 0;
}