Thứ Tư, 27 tháng 4, 2022

EXARRAY PASCAL

const MAXN=102;
      finp='exarray.inp';
      fout='exarray.out';

var n,q: longint;
    a,b,vt:array[1..MAXN] of longint;

procedure nhap;
var i: longint;
begin
     readln(n);
     for i:=1 to n do read(a[i]);
     for i:=1 to n do read(b[i]);
end;

procedure trao(i: longint);
var tam: longint;
begin
     tam:=a[i]; a[i]:=a[i+1]; a[i+1]:=tam;
end;

procedure xuly;
var i, j, tam: longint;
begin
     for i:=1 to n do
     begin
          vt[i]:=0;
          for j:=i to n do
              if (a[j]=b[i]) then
              begin
                   vt[i]:=j;
                   break;
              end;
          if (vt[i]<>0) then
          begin
               kq:=kq+vt[i]-i;
               for j:=vt[i]-1 downto i do trao(j)
          end
          else
          begin
               writeln(-1);
               exit;
          end;
     end;
     writeln(kq);
     for i:=1 to n do
         for j:=vt[i]-1 downto i do
             write(j,' ');
end;

begin
     assign(input,finp);reset(input);
     assign(output,fout);rewrite(output);

     nhap;
     xuly;

     close(input);
     close(output);
end.

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.