HSG3 - D. Rừng Nguy Hiểm*
Một con hổ bị lạc trong khu rừng hình vuông kích thước N × N. Mỗi ô có địa hình được mã hóa bởi số 0 hoặc 1. Mỗi lần di chuyển, con hổ có thể đi một ô sang Đông (Đ), Tây (T), Nam (N), hoặc Bắc (B) (tức là tới một ô chung cạnh) với điều kiện ô đến có cùng giá trị (cùng tính chất địa hình) với ô hiện tại. Hãy xác định con hổ có thể thoát khỏi khu rừng hay không; nếu có, hãy cho biết ít nhất bao nhiêu bước để con hổ thoát ra. Một đường đi hợp lệ là chuỗi các ô liên tiếp có cùng giá trị; con hổ được xem là thoát khi chạm tới mép rừng (một ô nằm trên biên). Số bước được tính bằng số ô trên đường đi (tại vị trí đang đứng tính là 1).
Dữ liệu vào (RUNG.INP):
Dòng 1: số nguyên N (2 ≤ N ≤ 50).
Dòng 2: hai số nguyên x, y là chỉ số hàng và cột của vị trí ban đầu của con hổ (1-index).
N dòng tiếp theo: mỗi dòng chứa N số (0 hoặc 1) mô tả ma trận khu rừng.
Dữ liệu ra (RUNG.OUT):
Nếu không có lối ra, in một dòng chứa số 0.
Nếu có lối ra, in:
• Dòng đầu: số 1.
• Dòng thứ hai: số bước ngắn nhất để thoát (số ô trên đường đi, ô đầu tiên tính là 1).
• Các dòng tiếp theo: mỗi dòng ghi một tọa độ h c (hàng, cột) nằm trên đường đi từ vị trí ban đầu tới ô biên, theo đúng thứ tự.
Ví dụ
RUNG.INP 4 2 2 1 0 1 1 1 0 1 1 1 0 0 0 1 1 1 1
RUNG.OUT 1 2 2 2 1 2
Comments