Thứ Năm, 28 tháng 4, 2022

FLAGS PASCAL

var a,f: array[1..6,1..9] of char;

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

procedure tao_f_ngang(x,y,z:char);
var i,j:longint;
begin
    for i:=1 to 2 do
        for j:=1 to 9 do f[i,j]:=x;
    for i:=3 to 4 do
        for j:=1 to 9 do f[i,j]:=y;
    for i:=5 to 6 do
        for j:=1 to 9 do f[i,j]:=z;
end;

procedure tao_f_doc(x,y,z:char);
var i,j:longint;
begin
    for i:=1 to 6 do
        for j:=1 to 3 do f[i,j]:=x;
    for i:=1 to 6 do
        for j:=4 to 6 do f[i,j]:=y;
    for i:=1 to 6 do
        for j:=7 to 9 do f[i,j]:=z;
end;

function kc:longint;
var d,i,j:longint;
begin
    d:=0;
    for i:=1 to 6 do
        for j:=1 to 9 do
            if a[i,j]<>f[i,j] then inc(d);
    exit(d);
end;

procedure giai;
var minn,k:longint;
    a,b,c:char;
begin
    minn:=trunc(1e9);
    for a := 'A' to 'Z' do
        for b := 'A' to 'Z' do
            for c := 'A' to 'Z' do
                if (a <> b) and (b <> c) then
                begin
                    tao_f_ngang(a,b,c);
                    k:=kc;
                    if k<minn then minn:=k;
                    tao_f_doc(a,b,c);
                    k:=kc;
                    if k<minn then minn:=k;
                end;
    write(minn);
end;
begin
    assign(input,'flags.inp');reset(input);
    assign(output,'flags.out');rewrite(output);
    nhap;
    giai;


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.