Pagini recente » Cod sursa (job #2176770) | Cod sursa (job #1330919) | Cod sursa (job #166169) | Cod sursa (job #1063666) | Cod sursa (job #2445763)
#include <iostream>
#include <algorithm>
#include <vector>
#include <map>
#include <cstdio>
using namespace std;
map<pair<int, int>, int> solutions;
int max(int n)
{
return (n * (n - 1)) >> 1;
}
int solve(int n, int s)
{
if (s < 0)
return solve(n, -s);
pair<int, int> ns = make_pair(n, s);
if (solutions[ns])
return solutions[ns];
int m = max(n);
if (m < s)
return 0;
if (m == s)
return 1;
--n;
solutions[ns] = (solve(n, s - n) + solve(n, s + n)) % 194767;
return solutions[ns];
}
int main()
{
freopen("1-sir.in", "r", stdin);
freopen("1-sir.out", "w", stdout);
int n, s;
cin >> n >> s;
cout << solve(n, s);
return 0;
}