Cod sursa(job #167619)

Utilizator tamas_iuliaTamas Iulia tamas_iulia Data 29 martie 2008 20:46:19
Problema Dusman Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.95 kb
var a : array[1..1000,1..3] of longint;
    d : array[1..1000] of integer;
    i,c1,c2,j,n,k,m : longint;
    f,g : text;
    p : array[0..1000] of longint;
    use : array[1..1000] of boolean;
procedure afis;
var i : longint;
begin
  for i:=1 to n do
    write(g,p[i],' ');
  writeln(g);
  close(g);
  halt;
end;

procedure gen(poz : longint);
var i : longint;
begin
if poz=n+1 then
begin
  dec(k);
  if k=0 then afis
end
  else
    for i:=1 to n do
      if not use[i] and (p[poz-1]<>a[i,1])
         and (p[poz-1]<>a[i,2])and(p[poz-1]<>a[i,3])
         then
         begin
           p[poz]:=i;
           use[i]:=true;
             gen(poz+1);
           use[i]:=false;
         end;
end;

begin
assign(f,'dusman.in');reset(f);
assign(g,'dusman.out');rewrite(g);
read(f,n,k,m);
for i:=1 to m do
begin
  read(f,c1,c2);
  inc(d[c1]);
  a[c1,d[c1]]:=c2;
  inc(d[c2]);
  a[c2,d[c2]]:=c1;
end;
p[0]:=maxlongint;
gen(1);
end.