Pagini recente » Cod sursa (job #1847550) | Cod sursa (job #295876) | Cod sursa (job #1578484) | Cod sursa (job #519675) | Cod sursa (job #120693)
Cod sursa(job #120693)
const nmax=1000;
type vector=array[1..nmax] of integer;
var
x,y,N,kk,k,M:integer;
as,ev:boolean;
Viz,st:vector;
f:text;
D:Array[1..nmax,1..nmax] of integer;
Procedure succesor(k:integer;var st:vector;var as:boolean);
begin
if st[k]<N then begin
st[k]:=st[k]+1;
as:=true;
end
else as:=False;
end;
Procedure tipar(k:integer;st:vector);
var j:integer;
begin
assign(f,'dusman.out'); rewrite(f);
for j:=1 to k do
write(f,st[j],' ');
close(f);
end;
Begin
assign(f,'dusman.in'); reset(f);
readln(f,N,kk,M);
While Not Eof(f) Do
begin
Readln(f,x,y);
D[x,y]:=1;
D[y,x]:=1;
end;
close(f);
x:=0;
k:=1;
st[1]:=0;
while k>0 do
begin
Repeat
succesor(k,st,as);
if as then if k>1 then
ev:=(Viz[st[k]]=0) and (D[st[k-1],st[k]]=0)
else ev:=true;
if (ev and as) then viz[st[k]]:=1;
Until (as and ev) Or (not as);
if as then
if k=N then begin
x:=x+1;
if x=kk then begin
tipar(k,st);
halt;
end;
viz[st[k]]:=0;
end
else begin
k:=k+1;
st[k]:=0;
end
else begin
k:=k-1;
Viz[st[k]]:=0;
end;
end;
end.