Pagini recente » Cod sursa (job #3248169) | Cod sursa (job #2514830) | Cod sursa (job #1121486) | Cod sursa (job #2971835) | Cod sursa (job #116265)
Cod sursa(job #116265)
var
fi, fo : text;
a : array [0..1000] of integer;
d : array [1..1000,1..3] of integer; {relatiile de dusmanie}
nd : array [1..1000] of byte; {numarul de dusmani pentru fiecare om}
liber : array [1..1000] of boolean;
n, k, m, x, y, asezari, i : integer;
gata : boolean;
function cont (i : integer) : boolean;
var
c : boolean;
j : byte;
begin
c := true;
for j := 1 to nd[a[i]] do
if d[a[i],j] = a[i-1] then
c := false;
cont := c
end;
procedure back (i : integer);
var
j, l : integer;
begin
if i = n+1 then
begin
inc(asezari);
if asezari = k then
begin
for l := 1 to n do
write(fo, a[l], ' ');
gata := true
end
end
else
begin
j := 1;
while (j <= n) and (not gata) do
begin
if liber[j] then
begin
a[i] := j;
if cont(i) then
begin
liber[a[i]] := false;
back (i+1);
liber[a[i]] := true
end
end;
inc(j)
end
end
end;
{------------------------}
begin
assign(fi,'dusman.in'); reset(fi);
assign(fo,'dusman.out'); rewrite(fo);
readln(fi,n,k,m);
for i := 1 to n do
liber[i] := true;
for i := 1 to m do
begin
readln(fi, x, y);
inc(nd[x]); d[x,nd[x]] := y;
inc(nd[y]); d[y,nd[y]] := x;
end;
a[0] := -1; { In cont, a[1] nu va putea fi considerat dusman cu a[0]. }
back(1);
close(fi); close(fo);
end.