Mai intai trebuie sa te autentifici.
Cod sursa(job #928840)
Utilizator | Data | 26 martie 2013 18:42:17 | |
---|---|---|---|
Problema | Planeta | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include<fstream>
using namespace std;
ifstream f("planeta.in");
ofstream g("planeta.out");
int i,n,j;
long long k,v[100];
void back(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];
g<<i<<' ';
if(st<i)
back(st,i-1,k/v[dr-i]);
if(i<dr)
back(i+1,dr,k%v[dr-i]);
}
int main()
{
f>>n>>k;
v[0]=1;
for(i=1;i<=n;++i)
for(j=1;j<=i;++j)
{
v[i]+=v[i-j]*v[j-1];
}
--k;
back(1,n,k);
}