CONST fi='covua.inp';fo='covua.out';
var ch : char;
x1, y1, x2, y2, i, j, tot,d : longint;
a: array[-2..10,-2..10] of longint;
h:array[1..8] of longint = (-2,-1,1,2,2,1,-1,-2);
c:array[1..8] of longint = (1,2,2,1,-1,-2,-2,-1);
procedure nhap; // nhap input va chuyen he toa do
begin
read(ch); y1 := ord(ch) - 96;
readln(x1); x1:=9-x1;
read(ch); y2 := ord(ch) - 96;
readln(x2); x2:=9-x2;
end;
procedure khoi_tao; // khoi tao bang a chua co o nao bi khong che
var i,j:longint;
begin
for i:=1 to 8 do
for j:=1 to 8 do a[i,j]:=0;
a[x1,y1]:=1;
a[x2,y2]:=1;
end;
procedure quan_xe_an; // danh dau nhung o bi quan xe (x1, y1) khong che
begin
for i:=1 to 8 do a[x1,i]:=1; //khong che cac o hang x1
for i:=1 to 8 do a[i,y1]:=1; //khong che cac o cot y1
end;
procedure quan_ma_an; // danh dau 8 o bi quan ma (x2, y2) khong che
var i :longint ;
begin
for i:=1 to 8 do
a[x2+h[i],y2+c[i]]:=1;
end;
procedure quan_ma2; //danh dau 8 o khi dat quan ma thu ba vao se an quan xe
var i :longint ;
begin
for i:=1 to 8 do
a[x1+h[i],y1+c[i]]:=1;
end;
procedure tinh_kq; // dem lai cac o a[i,j]=0 la cac o co the dat duoc
var i,j:longint;
begin
d:=0;
for i:=1 to 8 do
for j:=1 to 8 do
if a[i,j]=0 then inc(d);
writeln(d);
end;
begin
assign(input,fi);reset(input);
assign(output,fo);rewrite(output);
nhap;
khoi_tao;
quan_xe_an;
quan_ma_an;
quan_ma2;
tinh_kq;
close(input);close(output);
end.
* Chuyên dạy lập trình ONLINE cho học sinh THCS, THPT *.
Mọi giao lưu, trao đổi, xin liên hệ: Lê Quang Vinh - zalo: 037.803.8755.
Page: Lớp học Code Sky
Group FB1: Ôn thi HSG9 - THTB - TS10 chuyên tin
Group FB2: Học Scratch - Ôn thi Tin học trẻ bảng A
Thứ Hai, 9 tháng 5, 2022
COVUA PASCAL
Đăng ký:
Đăng Nhận xét (Atom)
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.