Cod sursa(job #2893621)

Utilizator Stefania_RincuRincu Stefania Stefania_Rincu Data 26 aprilie 2022 14:02:20
Problema Planeta Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<fstream>
using namespace std;

ifstream in("planeta.in");
ofstream out("planeta.out");

long long x,v[100];
int n;

void sol(int st, int dr, long long k)
{
	int i;
	for(i = st; (v[i - st] * v[dr - i] <= k && i <= dr); i++)
		k -= v[i - st] * v[dr - i];
	out<<i<<" ";
	if(st < i)
		sol(st, i - 1, k / v[dr - i]);
	if(i < dr)
		sol(i + 1, dr, k % v[dr - i]);
}

int main()
{
    int i, j;

	in>>n>>x;

	v[0] = 1;
	for(i = 1; i <= n; i++)
		for(j = 1; j <= i; j++)
			v[i] += v[i - j] * v[j - 1];
    x--;
    sol(1, n, x);
    return 0;
}