Pagini recente » Cod sursa (job #2879719) | Cod sursa (job #1737343) | Cod sursa (job #49095) | Cod sursa (job #1340631) | Cod sursa (job #2000447)
#include <fstream>
#define M 194767
using namespace std;
ifstream fi("1-sir.in");
ofstream fo("1-sir.out");
int N, S, nr[35000], i, j, A;
int main()
{
fi>> N >> S;
if (S < 0) S = -S; //pt ca nr[s]==nr[-s]
if (N * (N-1) /2 < S or (N * (N-1)/2 - S) % 2 == 1 ) {fo<<"0\n";return 0;}
S=(N * (N-1) /2 - S)/2;
nr[0] = 1;
for (i = 1; i < N; i++)
for (j = S; j >= i; j--)
{
nr[j] += nr[j - i];
nr[j] %= M;
}
// nr[S]=numarul de moduri in care se poate scrie S ca suma de numere de la 1 la n-1
fo<<nr[S];
return 0;
}