Tải bản đầy đủ (.doc) (2 trang)

Bài toán kho an toàn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (36.17 KB, 2 trang )

một nhà máy sản xuất vũ khí có nhiều kho hàng có lính canh gác. Các kho hàn và
lính canh được thẻ hiện trên ma trận m hàng n cột. Kho hàng là 'kho an toàn' nếu
xung quanh kho toàn là lính canh. lập trình và đưa ra vị trí kho an toàn.
Dữ liệu vào: tệp ANTOAN.INp;
- dòng đầu tiên ghi 2 số m, n nguyên(m,n<=100);
- m dòng tiếp theo mỗi dòng có n số 0 hoặc 1 thể hiện kho hàng và lính canh
(kho hàng:=0; lính canh:=1);
- các số trên cùng 1 dòng cách nhau 1 dấu cách.
kết quả: tệp ANYOAN.OUT;
- Nếu có kho an toàn thì mỗi dòng ghi vị trí 1 kho
- sau khi ghi hết vị trí các kho an toàn thì ghi có bao nhiêu kho an toàn ở dòng
cuối cùng.
- mỗi số trên cùng 1 hang ghi cách nhau 1 dấu cách.
- không có kho an toàn thì ghi -1.
VD:
antoan.inp: 4 5 antoan.out: 2 2
1110134
101112
11101
00111
_________
var f:text;
a:array[1..100,1..100] of boolean;
i,j,m,n:byte;
k:integer;
procedure Enter;
var f:text;
i,j:byte;
c:byte;
begin
assign(f,'antoan.inp');


reset(f);
readln(f,m,n);
for i:=1 to m do
for j:=1 to n do
begin
read(f,c);
if c=1 then a[i,j]:=true else a[i,j]:=false;
end;
close(f);
end;
begin
k:=0;
Enter;
assign(f,'antoan.out');
rewrite(f);
for i:=2 to m-1 do
for j:=2 to n-1 do
if (not a[i,j]) and a[i+1,j] and a[i-1,j] and a[i+1,j-1]
and
a[i+1,j+1] and a[i-1,j-1] and a[i-1,j+1] and a[i,j-1]
and
a[i,j+1] then
begin
writeln(f,i,' ',j);
k:=k+1;
end;
if k=0 then k:=-1;


end.


write(f,k);
close(f);
readln



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×