Pagini recente » Cod sursa (job #1368128) | Cod sursa (job #2237276) | Cod sursa (job #2882367) | Cod sursa (job #2414177) | Cod sursa (job #115451)
Cod sursa(job #115451)
Program dusman;
Var f,ff:text;
n,kp,m,factorial,pp,fl,l:int64;
i,j,k,k1:longint;
p,a,b:array[1..10000] of longint;
Begin
assign(f,'dusman.in');
reset(f);
assign(ff,'dusman.out');
rewrite(ff);
readln(f,n,kp,m);
for i:=1 to m do readln(f,a[i],b[i]);
for i:=2 to n do p[i]:=i;
p[1]:=1;
fl:=1;
for j:=1 to n-1 do
begin
for k:=1 to m do
if ((p[j]=a[k])and(p[j+1]=b[k]))or((p[j]=b[k])and(p[j+1]=a[k])) then
begin
fl:=0;
break;
end;
if fl=0 then break;
end;
if fl=1 then inc(l);
if (fl=1)and(kp=l) then
begin
for j:=1 to n do Write(ff,p[j],' ');
Writeln(ff);
close(f);
close(ff);
halt;
end;
i:=1;
repeat
inc(i);
for k:=n-1 downto 1 do if p[k]<p[k+1] then break;
for k1:=n downto 1 do if p[k1]>p[k] then break;
pp:=p[k];
p[k]:=p[k1];
p[k1]:=pp;
for j:=k+1 to (n+k+1) div 2 do
begin
pp:=p[j];
p[j]:=p[n-(j-k)+1];
p[n-(j-k)+1]:=pp;
end;
fl:=1;
for j:=1 to n-1 do
begin
for k:=1 to m do
if ((p[j]=a[k])and(p[j+1]=b[k]))or((p[j]=b[k])and(p[j+1]=a[k])) then
begin
fl:=0;
break;
end;
if fl=0 then break;
end;
if fl=1 then inc(l);
if (fl=1)and(kp=l) then
begin
for j:=1 to n do Write(ff,p[j],' ');
Writeln(ff);
close(f);
close(ff);
halt;
end;
until(1>2);
End.