Thứ Năm, 5 tháng 5, 2022

TREASURE PASCAL

const
   fin = 'treasure.inp';
   fon = 'treasure.out';
var
   a,tra:array[0..4,0..4] of longint;
   x,y:array[0..10] of longint;
   h: array [1..4]of longint=(-1,0,1,0);
   c: array [1..4]of longint=(0,1,0,-1);

   n,:longint;
   s,max:string;
procedure taoxau;
var i,j:longint;
begin
        s:='';
        for i:=1 to 9 do
        begin
        s:=s+chr(a[x[i],y[i]]+48);
        end;
end;
procedure vet (i:longint);
var j,u,v:longint;
begin
        for j:=1 to 4 do
        begin
                u:=x[i-1]+h[j];
                v:=y[i-1]+c[j];
                if (tra[u,v]=0) and (1<=u) and (u<=3) and (v<=3) and (v>=1) then
                begin
                        x[i]:=u;
                        y[i]:=v;
                        tra[u,v]:=1;
                        if i=9 then
                        begin
                                taoxau;
                                //writeln(s);
                                if s>max then max:=s;
                        end

                        else vet(i+1);

                        tra[u,v]:=0;
                end;

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

end;
procedure solve;
var i,j,h,k:longint;
begin
        max:='';
        for i:=1 to 3 do
                for j:=1 to 3 do
                begin
                        for h:=1 to 3 do
                                for k:=1 to 3 do
                                        tra[h,k]:=0;
                        x[1]:=i;
                        y[1]:=j;
                        tra[i,j]:=1;
                        vet(2);
                        tra[i,j]:=0;
                end;
        writeln(max);
end;

begin
    assign(input,'treasure.inp');reset(input);
        assign(output,'treasure.out');rewrite(output);
        readln(n);
        for k:=1 to n do
        begin
                nhap;
                solve;
        end;
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.