Cod sursa(job #120700)

Utilizator eugen.nodeaEugen Nodea eugen.nodea Data 6 ianuarie 2008 13:03:29
Problema Dusman Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.89 kb
const nmax=1000;
type vector=array[1..nmax] of integer;
var
   i,x,y,N,kk,k,M:integer;
   as,ev:boolean;
   Viz,st:vector;
   f:text;
   D:Array[1..nmax,1..nmax] of integer;
Begin
     assign(f,'dusman.in'); reset(f);
     readln(f,N,kk,M);
     For i:=1 To M 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
                if (St[k]<N) then begin
                      St[k]:=St[k]+1;
                      as:=True
                  end
                  else as:=False;
                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
                                                        assign(f,'dusman.out'); rewrite(f);
                                                        for x:=1 to k do
                                                            write(f,st[x],' ');
                                                        close(f);
                                                      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.