Cod sursa(job #186037)

Utilizator antoanelaAntoanela Siminiuc antoanela Data 26 aprilie 2008 16:49:05
Problema Dusman Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.13 kb
program dusman;
var f,g:text;
    v,a,b,p:array[0..10010]of longint;
    n,k,m,i,j,st,dr,c,aux:longint;

function valid:longint;
var i,j,ok:longint;
begin
  ok:=0;
  for i:=1 to m do
    if (p[a[i]]=p[b[i]]-1) or (p[a[i]]=p[b[i]]+1)then
      begin
        ok:=1;
        break;
      end;
  valid:=ok;
end;


begin
assign(f,'dusman.in');
assign(g,'dusman.out');
reset(f);
rewrite(g);
read(f,n,k,m);
for i:=1 to m do
  read(f,a[i],b[i]);
for i:=1 to n do v[i]:=i;
while true do
  begin
    for i:=1 to n do
      p[v[i]]:=i;
    if (valid=0)then inc(c);
    if (c=k)then
      begin
        for i:=1 to n do write(G,v[i],' ');
        break;
      end;
    i:=n-1;
    while (i>=1)and(v[i]>v[i+1])do dec(i);
    if (i=0)then break else
      begin
        j:=n;
        while (v[j]<v[i])do dec(j);
        aux:=v[i];
        v[i]:=v[j];
        v[j]:=aux;
        st:=i+1;
        dr:=n;
        while (st<dr)do
          begin
            aux:=v[st];
            v[st]:=v[dr];
            v[dr]:=aux;
            inc(st);
            dec(dr);
          end;
      end;
  end;
close(f);
close(g);
end.