Pagini recente » Cod sursa (job #2589213) | Cod sursa (job #139041) | Cod sursa (job #2529207) | Cod sursa (job #1971555) | Cod sursa (job #255406)
Cod sursa(job #255406)
var v:array[0..40] of int64;
a:array[1..40] of longint;
f,g:text;
k:int64;
i,j,n:longint;
procedure umple(st,dr,p,nr:int64);
var i,vf,n:longint;
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.