Pagini recente » Cod sursa (job #2530053) | Cod sursa (job #1758848) | Cod sursa (job #2431414) | Cod sursa (job #192920) | Cod sursa (job #162259)
Cod sursa(job #162259)
type trio=record
dusman1,dusman2,dusman3:integer;
end;
var fi,fo:text;
n,k,m,a,b,i,ct:longint;
dusmani:array[1..1000]of trio;
s:array[0..1000]of integer;
v:array[1..1000]of byte;
procedure print;
var i:integer;
begin
for i:=1 to n do
write(fo,s[i],' ');
end;
function verif(p:integer):boolean;
begin
verif:=false;
if dusmani[s[p]].dusman1=s[p-1] then exit
else
if dusmani[s[p]].dusman2=s[p-1] then exit
else
if dusmani[s[p]].dusman3=s[p-1] then exit;
verif:=true;
end;
procedure back(p:integer);
var i:integer;
begin
for i:=1 to n do
if v[i]=0 then
begin
s[p]:=i;
v[i]:=1;
if verif(p) then
begin
if p=n then
begin
inc(ct);
if ct=k then
begin
print;
close(fo);
halt;
end
end
else back(p+1);
end;
v[i]:=0;
end;
end;
begin
assign(fi,'dusman.in'); reset(fi);
assign(fo,'dusman.out'); rewrite(fo);
read(fi,n,k,m);
for i:=1 to m do
begin
read(fi,a,b);
if dusmani[a].dusman1=0 then dusmani[a].dusman1:=b
else
if dusmani[a].dusman2=0 then dusmani[a].dusman2:=b
else dusmani[a].dusman3:=b;
if dusmani[b].dusman1=0 then dusmani[b].dusman1:=a
else
if dusmani[b].dusman2=0 then dusmani[b].dusman2:=a
else dusmani[b].dusman3:=a;
end;
ct:=0; s[0]:=1;
back(1);
close(fi);
close(fo);
end.