Cháy rừng Berland
Đề bài
Mô tả
Khu rừng Berland được biểu diễn bởi một mặt phẳng vô hạn các ô vuông, ở mỗi ô có một cây.
Một đám cháy đã quét qua khu rừng. Bạn được cung cấp bản đồ kích thước mô tả phần rừng bị ảnh hưởng. Ô cháy được đánh dấu là X, ô không cháy là .. Đảm bảo rằng mọi cây bị cháy trên toàn bộ rừng đều nằm trong bản đồ, và tất cả các cây bên ngoài bản đồ đều không bị thiệt hại.
Giả sử đám cháy bắt đầu vào thời điểm tại một tập hợp ô nào đó. Tại cuối mỗi phút, lửa lan từ mỗi ô đang cháy sang ô lân cận (kể cả đường chéo). Đến đầu phút thứ , lửa được dập tắt. Bạn cần tìm giá trị lớn nhất có thể sao cho tồn tại một tập ô được đốt ban đầu mà sau phút lan tỏa cho ra đúng bản đồ ô cháy đã cho (và không có cây nào bên ngoài bản đồ bị cháy).
Với giá trị tối đa đó, hãy in ra một tập ô khởi điểm hợp lệ bất kỳ.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và .
- dòng tiếp theo, mỗi dòng gồm ký tự
Xhoặc., mô tả bản đồ.
Dữ liệu ra
- Dòng đầu in ra số nguyên — thời gian cháy lớn nhất có thể.
- dòng tiếp theo in ra bản đồ , trong đó các ô khởi điểm được đánh dấu là
X, các ô còn lại là..
Nếu có nhiều tập khởi điểm hợp lệ với lớn nhất, in ra một tập bất kỳ.
Ràng buộc
- Bản đồ chứa ít nhất một ô
X.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 6 XXXXXX XXXXXX XXXXXX |
1 ...... .XXXX. ...... |
Đốt ô ở hàng giữa; sau phút lửa lan ra phủ toàn bộ ô X. Không thể đạt vì phải có ô cách biên ít nhất . |
| 10 10 .XXXXXX... .XXXXXX... .XXXXXX... .XXXXXX... .XXXXXXXX. ...XXXXXX. ...XXXXXX. ...XXXXXX. ...XXXXXX. .......... |
2 .......... .......... ...XX..... .......... .......... .......... .....XX... .......... .......... .......... |
Có hai khối hình chữ nhật , mỗi khối cho phép đặt ô khởi điểm cách biên khối ít nhất . là tối đa. |
| 4 5 X.... ..XXX ..XXX ..XXX |
0 X.... ..XXX ..XXX ..XXX |
Ô X đơn độc ở góc trên trái buộc , vì với thì lửa từ một ô khởi điểm bất kỳ phải lan sang ít nhất ô lân cận — không khớp được với một điểm cô lập. |
Bình luận