Cod sursa(job #186035)

Utilizator antoanelaAntoanela Siminiuc antoanela Data 26 aprilie 2008 16:44:13
Problema Dusman Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.18 kb
program dusman;
var f,g:text;
    v,a,b: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
    for j:=1 to n do
      if (v[j]=a[i])then
        begin
          if (v[j-1]=b[i])or(v[j+1]=b[i])then
            begin
              ok:=1;
              break;
            end;
        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
    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.