Pagini recente » Cod sursa (job #3236382) | Cod sursa (job #882252) | Cod sursa (job #2699178) | Cod sursa (job #332295) | Cod sursa (job #1418374)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
#define MAXN 257
#define MAXS 33000
#define MOD 194767
std::ifstream in("1-sir.in");
std::ofstream out("1-sir.out");
inline int module(int nb)
{
return (nb > 0) ? nb : (nb * (-1));
}
std::vector<std::vector<int> >strings(MAXN, std::vector<int>(MAXS, 0));
int main()
{
int N, S;
in >> N >> S;
if (N * (N - 1) / 2 < S) {
out << 0 << '\n';
return 0;
}
S = module(S);
strings[1][0] = 1;
for (int i = 2; i <= N; i++)
for (int s = 0; s <= i * (i - 1) / 2; s++) {
strings[i][s] = ( strings[i - 1][ module(s - i + 1) ] +
strings[i - 1][s + i - 1] ) % MOD;
}
out << strings[N][S] << '\n';
return 0;
}