Lý lịch
Bỏ qua "Nhiệm vụ" nếu bạn quen thuộc với Tic-Tac-Toe (Tôi nghĩ hầu hết là vậy!)
Tic-Tac-Toe là một trò chơi hai người nổi tiếng. Nó bao gồm một bảng 3x3 được lấp đầy dần bởi hai người chơi (làm rõ bên dưới); Người chơi đầu tiên sử dụng nhân vật X
và người khác sử dụng O
. Người chiến thắng là người đầu tiên nhận được 3 ký tự liên tiếp và giống hệt nhau ( X
hoặc O
), theo chiều ngang, chiều dọc hoặc đường chéo. Trong trường hợp bảng được lấp đầy và không ai trong số những người chơi quản lý để có được ba nhân vật liên tiếp như đã giải mã ở trên, trò chơi kết thúc bằng hòa. Lưu ý rằng có thể có những điểm trống ở cuối trò chơi, trong trường hợp một trong hai người chơi thắng tổng cộng dưới 9 lần di chuyển (điều này không thể xảy ra trong trường hợp hòa).
Bài tập
Đưa ra một bảng Tic-Tac-Toe ở cuối trò chơi (dưới dạng chuỗi, ma trận, danh sách phẳng gồm 9 giá trị được sắp xếp, bất kỳ định dạng hợp lý nào khác), xác định ai thắng trò chơi.
Đầu vào sẽ bao gồm các giá trị riêng biệt và nhất quán , một cho
X
, một choO
và một giá trị khác đại diện cho một điểm trống.Chương trình của bạn sẽ có thể xuất ra 3 giá trị riêng biệt, nhất quán và không trống: một trong trường hợp
X
thắng, một giá trị khác trong trường hợpO
thắng hoặc một giá trị khác nếu người chơi bị ràng buộc.Vui lòng chỉ định các giá trị này trong câu trả lời của bạn. Bạn có thể giả định rằng đầu vào sẽ là một bảng Tic-Tac-Toe hợp lệ.
Các trường hợp thử nghiệm
X
, O
, _
Là những giá trị đầu vào ở đây; X wins
, O wins
và Tie
là cho đầu ra.
X O X
O X _
O _ X
Đầu ra : X wins
.
X _ O
X O _
X O X
Đầu ra : X wins
.
X O X
_ O X
_ O _
Đầu ra : O wins
.
X O X
O O X
X X O
Đầu ra : Tie
.
Như thường lệ, tất cả các quy tắc tiêu chuẩn của chúng tôi áp dụng. Đây là code-golf , mã ngắn nhất tính theo byte trong mọi ngôn ngữ sẽ thắng!