Pagini recente » Cod sursa (job #2287069) | Cod sursa (job #954943) | Cod sursa (job #559077) | Cod sursa (job #42145) | Cod sursa (job #116584)
Cod sursa(job #116584)
program dusman;{ preONI 2008 runda 2}
label 1;
var f,g:text;
a,b,n,m,i,k,x,j,ok,nr,o:integer;
as,ev:boolean;
d:array[1..1000,1..4] of integer;
st:array[1..10000] of 0..1000;
begin
assign(f,'dusman.in');reset(f);
assign(g,'dusman.out');rewrite(g);
readln(f,n,k,m) ;
for i:=1 to n do
for j:=1 to 4 do
d[i,j]:=0;
for i:=1 to m do
begin readln(f,a,b);d[a,1]:=d[a,1]+1; d[a,d[a,1]+1]:=b;
d[b,1]:=d[b,1]+1; d[b,d[b,1]+1]:=a;end;
nr:=0;
x:=1;st[x]:=0;
while x>0 do
begin
repeat
st[x]:=st[x]+1;
if st[x]<=n then as:=true
else as:=false;
if as then if x=1 then ev:=true
else begin
ok:=0;
for i:=1 to x-1 do
if st[i]=st[x] then begin ok:=1 ;break;end;
if( d[st[x],1]=0) and (ok=0) then ev:=true
else if d[st[x],1]<>0 then
begin
o:=0;
for j:=1 to d[st[x],1] do
if d[st[x],j+1] =st[x-1] then o:=1;
if (o=0) and (ok=0) then ev:=true
else ev:=false;
end
else ev:=false;
end;
until (not as) or (as and ev);
if as then if x=n then begin nr:=nr+1;
if nr =k then begin
for i:=1 to n do
write(g,st[i],' ');
goto 1;
end end
else
begin x:=x+1;st[x]:=0; end
else x:=x-1;
end;
1:close(g);
close(f);
end.