Pagini recente » Cod sursa (job #231598) | Cod sursa (job #1144281) | Cod sursa (job #2853119) | Cod sursa (job #2256136) | Cod sursa (job #292839)
Cod sursa(job #292839)
#include <stdio.h>
long long C[32];
void calc(int l,int r,long long k){
int i=l;
while ( i <= r && C[i-l] * C[r-i] <= k ){
k-= C[i-l] * C[r-i]; ++i;
}
printf("%d ",i);
if (l < i) calc(l, i-1, k / C[r-i] );
if (r > i) calc(i+1, r, k % C[r-i] );
}
int main(){
freopen("planeta.in","r",stdin); freopen("planeta.out","w",stdout);
int n,i; long long k;
scanf("%d %lld",&n,&k);
k--;
C[0]=1;
for (i=1;i<32;++i)C[i]=2*(2*i-1)*C[i-1]/(i+1);
calc(1,n,k);
return 0;
}