Giới thiệu
Những người chơi golf có kiến thức đã chuẩn bị cho chúng ta về trận lụt ngày tận thế . Các khu vực có nguy cơ đã được sơ tán, và dân số di chuyển lên vùng cao.
Chúng tôi đã đánh giá thấp trận lụt (hoặc có lẽ có lỗi trong mã của @ user12345). Một số khu vực trên mặt đất cao đang nhanh chóng tiếp cận mực nước biển. Các bức tường phải được dựng lên để đảm bảo sự tồn tại của các vùng đất đông dân cư hiện nay. Đáng buồn thay, chính phủ có một nguồn cung cấp tường hạn chế.
Vấn đề
Kịch bản ngày tận thế của chúng tôi được mô tả bởi hai số trên một dòng nvà m. Theo sau dòng đó là ncác dòng có mgiá trị trên mỗi dòng, chỉ được phân tách bằng một khoảng trắng. Mỗi giá trị sẽ là một trong bốn ký tự.
xBất khả xâm phạm. Nước không thể chảy ở đây. Tường không thể được dựng lên ở đây.-Không ổn định. Nước có thể chảy qua đây. Tường không thể được dựng lên ở đây..Ổn định. Nước có thể chảy qua đây. Tường có thể được dựng lên ở đây.oEncampment. Nước có thể chảy qua đây. Nếu nó làm, tất cả mọi người chết. Tường không thể được xây dựng ở đây.
Nước sẽ chảy từ tất cả các cạnh của bản đồ, trừ khi cạnh đó không thể xuyên thủng hoặc một bức tường được xây dựng trên gạch. Viết chương trình có thể xuất ra số lượng tường tối thiểu cần thiết để bảo vệ phần đóng gói.
Ví dụ đầu vào
6 7
x . . x x x x
x . . x - - x
x . x x - - x
x . o o o - .
x . o o o - .
x x x x x x x
Ví dụ đầu ra
3
Giả định
- Nước chỉ chảy trực giao
- Encampments chỉ tồn tại dưới dạng một khối liền kề trực giao cho mỗi kịch bản
- Một giải pháp sẽ luôn tồn tại (mặc dù nó có thể đòi hỏi số lượng lớn tường)
- Không thể đặt mã hóa trên một cạnh, vì kịch bản sau đó sẽ không có giải pháp
- 2
n<< 16 - 2
m<< 16 - Đầu vào có thể được cung cấp từ stdin, đọc từ "city.txt" hoặc được chấp nhận dưới dạng một đối số
Mã ngắn nhất sẽ thắng!