Pagini recente » Cod sursa (job #154451) | Cod sursa (job #814665) | Cod sursa (job #699945) | Cod sursa (job #250509) | Cod sursa (job #255400)
Cod sursa(job #255400)
var a,v:array[0..40] of int64;
f,g:text;
i,j,n,k:int64;
procedure umple(st,dr,p,nr:int64);
var i,vf,n,x,y:int64;
begin
n:=dr-st+1;
for i:=1 to n do
if v[i-1]*v[n-i]>=nr then begin
vf:=i;
break;
end
else
nr:=nr-v[i-1]*v[n-i];
if (st<=dr) and (n<>0) then begin
a[st]:=vf+p-1;
x:=(nr-1) div v[n-i]+1;
y:=nr-(x-1)*v[n-i];
umple(st+1,st+vf-1,p,x);
umple(st+vf,dr,p+vf,y);
end;
end;
begin
assign(f,'planeta.in'); reset(f);
assign(g,'planeta.out'); rewrite(g);
read(f,n,k);
v[0]:=1; v[1]:=1;
for i:=2 to n do
for j:=1 to i do
v[i]:=v[i]+v[j-1]*v[i-j];
umple(1,n,1,k);
for i:=1 to n-1 do
write(g,a[i],' ');
writeln(g,a[n]);
close(g);
end.