Vị vua của La Mã cổ đại đang gặp khó khăn trong việc xác định xem một hình vuông ma thuật có hợp lệ hay không, bởi vì hình vuông ma thuật mà anh ta đang kiểm tra không bao gồm bất kỳ dấu phân cách nào giữa các con số. Anh ta đã thuê một kỹ sư phần mềm để giúp anh ta xác định xem một hình vuông ma thuật có hợp lệ hay không.
Mô tả đầu vào
Đầu vào xuất hiện trên STDIN hoặc đối số dòng lệnh. Bạn không thể có đầu vào được khởi tạo trước trong một biến (ví dụ: "chương trình này mong đợi đầu vào trong một biến x
"). Đầu vào có định dạng sau:
<top>,<middle>,<bottom>
Mỗi <top>
, <middle>
và <bottom>
là một chuỗi chỉ bao giờ sẽ chứa các ký tự chữ hoa I
, V
và X
. Nó sẽ không chứa khoảng trắng hoặc bất kỳ ký tự nào khác. Mỗi chuỗi đại diện cho ba chữ số La Mã, do đó dẫn đến một ma trận số 3x3. Tuy nhiên, những chữ số La Mã này có thể (nhưng không nhất thiết) là mơ hồ . Cho phép tôi minh họa điều này với một ví dụ. Hãy xem xét hàng ví dụ sau gồm ba chữ số La Mã, không có khoảng trắng giữa mỗi số:
IVIIIIX
Bởi vì không có khoảng trắng giữa các chữ cái, có hai khả năng cho các số ở đây:
- 1, 8, 9 (
I VIII IX
) - 4, 3, 9 (
IV III IX
)
Khi bạn cho rằng cả ba hàng của ma trận đều có thể không rõ ràng, có khả năng sẽ có nhiều ma trận 3x3 khác nhau từ một đầu vào.
Lưu ý rằng các chuỗi như 1, 7, 1, 9 ( I VII I IX
) là không thể vì mỗi hàng sẽ luôn đại diện cho ba chữ số La Mã. Cũng lưu ý rằng các chữ số La Mã phải hợp lệ, do đó các chuỗi như 1, 7, 8 ( I VII IIX
) cũng không thể thực hiện được.
Mô tả đầu ra
Đầu ra:
- Một số nguyên
A
, trong đóA
số lượng ma trận 3x3 duy nhất có thể được hình thành từ đầu vào không rõ ràng và: - Một truthy giá trị nếu bất kỳ của các ma trận 3x3 độc đáo tạo thành một hình vuông ma thuật, hoặc:
- Một falsy giá trị nếu không có các ma trận 3x3 độc đáo tạo thành một hình vuông ma thuật.
Các giá trị trung thực và giả mạo phải nhất quán. Chúng được phân tách bằng dấu phẩy.
Một số giải thích được yêu cầu về những gì được tính là duy nhất. Miễn là một ma trận không có chính xác các số giống nhau ở các vị trí chính xác giống như ma trận được tìm thấy trước đó, thì nó được tính là duy nhất. Điều này có nghĩa là các phản xạ, vv của các ma trận được tìm thấy trước đây được tính là duy nhất.
Ví dụ đầu vào và đầu ra
Trong các ví dụ này, tôi sử dụng true
làm giá trị trung thực và giá trị giả false
của mình.
Đầu vào: VIIIIVI,IIIVVII,IVIXII
Đầu ra: 24,true
(Tam giác ma thuật là 8-1-6, 3-5-7, 4-9-2.)
Đầu vào: IIIXVIII,IVIII,VIIII
Đầu ra:210,false
Ngoài ra
- Bạn không được phép sử dụng các hàm chuyển đổi Số La Mã sẵn có nếu ngôn ngữ bạn chọn có ngôn ngữ.