Bỏ qua đến nội dung
Kho đề HSG Tin 9Đề thi cấp tỉnh/thành phố

Bài 4 · Lập trình

Ốc sên ăn rau

Điểm
5 điểm
Thời gian
1 giây
Tên chương trình
OCSEN.*
Vào / Ra
OCSEN.INP → OCSEN.OUT

Đề bài

Một khu vườn hình chữ nhật có kích thước N×MN \times M (NN dòng, MM cột). Ta đánh số các dòng từ 1 đến NN theo chiều từ trên xuống dưới và các cột từ 1 đến MM theo chiều từ trái sang phải để chia khu vườn thành các ô. Trong các ô đó, ngoài những ô là đất để người nông dân trồng rau vẫn có những ô là đá không thể trồng rau được. Một chú ốc sên xuất phát tại ô (x,y)(x, y) (xx là vị trí dòng, yy là vị trí cột). Nếu ô xuất phát là đất, chú ốc sên có thể di chuyển sang 4 ô kề cạnh với ô đó (bên trái, bên phải, bên trên, bên dưới) và đương nhiên không thể di chuyển vào ô đá được. Trường hợp ô xuất phát là đá thì chú ốc sên không thể di chuyển đến ô nào khác.

Yêu cầu: Hãy tính xem chú ốc sên có thể di chuyển đến nhiều nhất là bao nhiêu ô để ăn rau?

Dữ liệu vàoOCSEN.INP

Từ tệp văn bản OCSEN.INP gồm:

  • Dòng thứ nhất gồm 4 số nguyên N,M,X,YN, M, X, Y (mỗi số cách nhau một khoảng trắng) (1≤X≤N≤20001 \le X \le N \le 2000, 1≤Y≤M≤20001 \le Y \le M \le 2000);
  • Trong NN dòng tiếp theo, mỗi dòng gồm MM số nguyên 0 hoặc 1 (mỗi số cách nhau một khoảng trắng). Số 0 nghĩa là ô trồng rau, số 1 nghĩa là ô đá.

Kết quả raOCSEN.OUT

Ghi ra tệp văn bản OCSEN.OUT gồm một số nguyên là số lượng ô lớn nhất mà chú ốc sên có thể di chuyển đến để ăn rau. Nếu chú ốc sên không ăn được ô rau nào thì ghi kết quả là −1-1.

Ràng buộc

  • Sub1: Có 50% test tương ứng 50% số điểm của bài với N,M<10N, M < 10;
  • Sub2: Có 30% test tương ứng 30% số điểm của bài với N,M≤100N, M \le 100;
  • Sub3: Có 20% test khác tương ứng 20% số điểm còn lại của bài với N,M≤2×103N, M \le 2 \times 10^3.

Ví dụ

Dữ liệu vàoOCSEN.INP
4 5 2 4
0 0 1 0 0
0 1 0 0 1
1 0 0 0 0
0 1 0 0 1
Kết quả raOCSEN.OUT
10

Thuộc đề thi

Kỳ thi học sinh giỏi lớp 9 cấp tỉnh năm học 2020 - 2021 — Môn thi: Tin học

Quảng Nam · Cấp tỉnh · Năm học 2020-2021