Pagini recente » Cod sursa (job #1666950) | Cod sursa (job #2816850) | Cod sursa (job #1986898) | Cod sursa (job #2263650) | Cod sursa (job #1798941)
# include <fstream>
# define DIM 33
using namespace std;
ifstream fin("planeta.in");
ofstream fout("planeta.out");
unsigned long long v[DIM][DIM],s[DIM],k;
int n,i,j;
void find(int n,long long k,int p){
int s1=0;
if(!n)
return;
for(int i=1;i<=n;i++){
s1+=v[n][i];
if(s1>=k){
fout<<i+p<<" ";
k-=s1-v[n][i];
if(k%s[n-i]){
find(i-1,k/s[n-i]+1,p);
find(n-i,k%s[n-i],i+p);
}
else{
find(i-1,k/s[n-i],p);
find(n-i,s[n-i],i+p);
}
return;
}
}
}
int main () {
fin>>n>>k;
s[0]=1;
for(i=1;i<=n;i++)
for(j=1;j<=i;j++){
v[i][j]=s[j-1]*s[i-j];
s[i]+=v[i][j];
}
find(n,k,0);
fout<<"\n";
return 0;
}