Pagini recente » Cod sursa (job #2859204) | Cod sursa (job #624277) | Cod sursa (job #2410639) | Cod sursa (job #299888) | Cod sursa (job #1554101)
#include <fstream>
using namespace std;
ifstream fin("planeta.in");
ofstream fout("planeta.out");
typedef long long i64;
const i64 nmax= 30;
i64 d[nmax+1];
void f( i64 l, i64 r, i64 k ) {
for ( i64 i= l, ok= 0; i<=r && ok==0; ++i ) {
if ( (i64)d[i-l]*d[r-i]>=k ) {
fout<<i<<" ";
ok= 1;
f(l, i-1, (k-1)/d[r-i]+1);
f(i+1, r, (k-1)%d[r-i]+1);
} else {
k= (i64)k-(i64)d[i-l]*d[r-i];
}
}
}
int main( ) {
i64 n, k;
fin>>n>>k;
d[0]= 1;
for ( i64 i= 1; i<=n; ++i ) {
for ( i64 j= 1; j<=i; ++j ) {
d[i]= (i64)d[i]+(i64)d[j-1]*d[i-j];
}
}
f(1, n, k);
return 0;
}