Pagini recente » Cod sursa (job #1896623) | Cod sursa (job #3276631) | Cod sursa (job #2345615) | Cod sursa (job #1822655) | Cod sursa (job #2750660)
#include <iostream>
#include <cstring>
#include <fstream>
#include <map>
#include <cmath>
#include <unordered_map>
using namespace std;
unordered_map<int> mp;
const int mod = 194767;
const int nmax = 260;
int solve(int S, int N)
{
if(abs(S) > (N * (N - 1)) / 2)
return 0;
if(N == 1)
{
if(!S)
return 1;
return 0;
}
int index = S * nmax + N;
if(mp.find(index) != mp.end())
return mp[index];
long long ans = 0;
ans += solve(S - N + 1, N - 1);
ans %= mod;
ans += solve(S + N - 1, N - 1);
ans %= mod;
return mp[index] = ans;
}
int main() {
ifstream in("1-sir.in");
ofstream out("1-sir.out");
int N, S;
in >> N >> S;
out << solve(S, N) << "\n";
in.close();
out.close();
return 0;
}