Lý lịch
Boggle là một trò chơi bảng trong đó người chơi phải tìm các từ tiếng Anh trên bảng 4 chữ cái ngẫu nhiên. Các từ có thể được xây dựng bằng cách chọn các ô liền kề liên tiếp trên bảng. ("Liền kề" có nghĩa là liền kề theo chiều ngang, chiều dọc hoặc đường chéo.) Ngoài ra, cùng một ô không thể được sử dụng nhiều lần trong một từ.
Sau đây là một bảng ví dụ:
I L A W
B N G E
I U A O
A S R L
Trên tàu này, BINGO, ORANGEvà WEARSlà những từ hợp lệ, nhưng SURGEvà RUSSIAkhông:
SURGE: Không có cặp liền kề trên bảng cóRG.RUSSIA:Skhông thể được sử dụng hai lần.
Đã sửa đổi Boggle là phiên bản sửa đổi của Boggle, với các quy tắc sau:
- Kích thước bảng là
n-by-n, trong đóncó thể là bất kỳ số nguyên dương nào. - Mỗi ô có thể chứa bất kỳ một byte nào trong khoảng từ 0 đến 255.
- Một ô có thể được sử dụng nhiều lần, nhưng không hai lần liên tiếp .
Sử dụng bảng ví dụ ở trên, ngoài BINGO, ORANGEvà WEARS, LANGUAGEtrở thành một chuỗi hợp lệ (vì Gđược sử dụng hai lần, nhưng không phải hai lần liên tiếp) nhưng RUSSIAvẫn không (do SScặp).
Đây là một ví dụ khác sử dụng một đoạn mã. Chuỗi from itertools import*\ncó thể được tìm thấy trên bảng sau, nhưng không from itertoosl import*hoặc from itertools import *:
f i ' ' s
r t m l
e o o p
\n * t r
Lưu ý rằng bạn cần hai ogiây để khớp với oochuỗi.
Thử thách
Viết một hàm hoặc chương trình, được đưa ra một bảng điều chỉnh Boggle B(có kích thước bất kỳ) và một chuỗi s, xác định nếu scó thể được tìm thấy trên B.
Hạn chế
Bản thân mã của bạn cũng phải phù hợp với bảng Boggle đã sửa đổi b. Nghĩa là, bạn phải hiển thị bảng btrong bài gửi của mình cùng với mã của bạn, để chức năng / chương trình của bạn xuất ra đúng nếu được đưa ra bvà mã của bạn là đầu vào.
Chấm điểm
Điểm của bài nộp của bạn là chiều dài của bảng nhỏ nhất bnơi bạn có thể phù hợp với mã của mình. Các mối quan hệ bị phá vỡ bởi các quy tắc golf-code thông thường , tức là độ dài mã của bạn tính bằng byte. Bài nộp với số điểm thấp nhất (cho cả hai tiêu chí) sẽ thắng.
Ví dụ: from itertools import*\ncó số điểm là 4 (sử dụng bảng ở trên) và độ dài mã là 23 byte.
Đầu vào và đầu ra
Đối với đầu vào, bạn có thể thực hiện bất kỳ phương pháp thuận tiện cho cả Bvà s. Điều này bao gồm danh sách các ký tự và danh sách các mã, 2D hoặc dẹt hoặc bất cứ điều gì có ý nghĩa. Ngoài ra, bạn có thể tùy ý lấy kích thước bảng làm một phần của đầu vào.
Đối với đầu ra, bạn có thể chọn một trong các cách sau:
- Giá trị trung thực và giả mạo theo quy ước ngôn ngữ của bạn, hoặc
- Một giá trị được xác định trước cho đúng và sai tương ứng.
Vui lòng chỉ định phương thức nhập / xuất của bạn trong bài gửi của bạn.
+=+=hoặc một cái gì đó tương tự. Vấn đề là ==chức năng đầu ra ...