Pagini recente » Cod sursa (job #1751479) | Cod sursa (job #2961071) | Cod sursa (job #2237652) | Cod sursa (job #1912192) | Cod sursa (job #6931)
Cod sursa(job #6931)
#include <fstream>
#define MAX 100000
using namespace std;
int n, s, sol = 0;
int suma[MAX], nr[MAX];
void DF(int nod, int deep, int tata);
int main()
{
ifstream fin("1-sir.in");
fin >> n >> s;
fin.close();
suma[0] = 0;
nr[1] = 0;
DF(1, 1, 0);
ofstream fout("1-sir.out");
fout << sol%194767 << "\n";
fout.close();
return 0;
}
void DF(int nod, int deep, int tata)
{
suma[nod] = suma[tata]+nr[nod];
if (deep == n)
{
if (suma[nod] == s) sol++;
return;
}
nr[nod*2] = nr[nod]+1;
nr[nod*2+1] = nr[nod]-1;
DF(nod*2, deep+1, nod);
DF(nod*2+1, deep+1, nod);
}