Chúng tôi đã tạo các trường Minesweeper , nhưng ai đó thực sự phải quét các mỏ đã tạo trước khi PCG nổ tung!
Nhiệm vụ của bạn là viết một Bộ giải Minesweeper tương thích với một phiên bản sửa đổi một chút của giải pháp được chấp nhận của bộ phận làm việc của Minesweeper (các hành động được phân tách bằng khoảng trắng để cho phép các trường lớn hơn).
Đầu vào: Một trường Minesweeper, các trường được phân tách bằng dấu cách. Dòng đầu tiên biểu thị tổng số mỏ.
x
: Không bị ảnh hưởng!
: Cờ- Chữ số: Số lượng mỏ xung quanh lĩnh vực đó
Thí dụ:
10
0 0 1 x x x x x
0 0 2 x x x x x
0 0 2 ! x x x x
0 0 1 2 x x x x
0 0 0 1 x x x x
1 1 0 2 x x x x
x 1 0 2 x x x x
1 1 0 1 x x x x
Đầu ra: Bước tiếp theo của bạn trong định dạng action row column
(bắt đầu từ 0)
Hành động hợp lệ:
0
: Mở nó ra1
: Đặt cờ
Thí dụ:
0 1 2
Quy tắc:
- Bạn viết một chương trình hoàn chỉnh lấy một trường duy nhất làm đầu vào (STDIN hoặc đối số dòng lệnh) và xuất ra một hành động (STDOUT). Do đó, bạn không thể lưu trạng thái, ngoại trừ
!
. - Sự lựa chọn của bạn phải tuân theo tỷ lệ cược tốt nhất để tồn tại. (tức là nếu có di chuyển an toàn 100%, hãy thực hiện)
- Đây là môn đánh gôn ; giải pháp ngắn nhất (tính theo UTF-8 byte)
Các xét nghiệm:
Những thử nghiệm này phục vụ mục đích thử nghiệm cho các tình huống rõ ràng phổ biến; chương trình của bạn phải hoạt động cho mọi lĩnh vực kiểm tra.
Trong:
4
x x x x
1 2 x x
0 1 2 x
0 0 1 x
Ra (bất kỳ trong số này):
1 1 2
0 0 2
0 1 3
Trong:
2
x x x
1 ! x
1 1 x
Ra (bất kỳ trong số này):
0 0 0
0 0 1
0 1 2
0 2 2
1 0 2
Trong:
10
x x x x x x x x
1 3 3 x x x x x
0 1 ! 3 3 4 x x
0 2 3 ! 2 3 x x
0 1 ! 2 2 ! x x
Ra (bất kỳ trong số này):
1 1 5
1 0 2
Trong:
2
x x x
2 3 1
! 1 0
Ra (bất kỳ trong số này):
0 0 1
1 0 0
1 0 2
0 0 2
hoặc 0 1 3
. Tôi không thể thấy một trong những người đó sẽ được coi là an toàn như thế nào. (Tôi không đủ giỏi ở tàu quét mìn ...)
F
hoặc P
trông cờ tốt hơn !
:)