Kilani và trò chơi
Đề bài
Mô tả
Có một bàn chơi dạng lưới kích thước . Mỗi ô hoặc là ô trống, hoặc là ô bị chặn, hoặc chứa lâu đài của một người chơi (mỗi ô có nhiều nhất một lâu đài). Có người chơi, mỗi người sở hữu ít nhất một lâu đài lúc ban đầu.
Trò chơi diễn ra theo các vòng. Trong mỗi vòng, các người chơi lần lượt mở rộng theo thứ tự: người chơi mở rộng trước, rồi đến người chơi , và cứ thế đến người chơi .
Khi đến lượt, người chơi xét toàn bộ các lâu đài mình đang sở hữu. Với mỗi ô trống mà từ một lâu đài của người chơi có thể đi tới trong tối đa bước theo bốn hướng (lên, xuống, trái, phải), mà không đi qua ô bị chặn hay ô đã bị người chơi khác chiếm, thì người chơi sẽ đặt lâu đài lên ô đó. Tất cả các ô thoả điều kiện được chiếm đồng thời trong lượt này, sau đó mới chuyển lượt cho người kế tiếp.
Trò chơi kết thúc khi không người chơi nào có thể chiếm thêm ô nào. Hãy cho biết số ô mà mỗi người chơi kiểm soát khi trò chơi kết thúc.
Dữ liệu vào
- Dòng đầu chứa ba số nguyên , , : kích thước lưới và số người chơi.
- Dòng thứ hai chứa số nguyên : tốc độ mở rộng của từng người chơi.
- dòng tiếp theo, mỗi dòng gồm ký tự mô tả lưới: ký tự
.là ô trống, ký tự#là ô bị chặn, và chữ số () là ô chứa lâu đài của người chơi .
Dữ liệu ra
In ra số nguyên: số ô mà mỗi người chơi kiểm soát sau khi trò chơi kết thúc.
Ràng buộc
- Mỗi người chơi có ít nhất một lâu đài trên lưới.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 3 2 1 1 1.. ... ..2 |
6 3 | Cả hai người chơi có tốc độ . Người chơi xuất phát ở góc trên trái, người chơi ở góc dưới phải. Vì người chơi luôn đi trước nên chiếm được nhiều ô hơn, kết quả và . |
| 3 4 4 1 1 1 1 .... #... 1234 |
1 4 3 3 | Người chơi bị ô chặn # bao phía trên nên không mở rộng được, chỉ giữ ô. Ba người còn lại mở rộng lên trên; ở vòng thứ ba chỉ người chơi còn ô để chiếm sang trái. |
Bình luận