У короля Стародавнього Риму виникають труднощі визначити, чи є магічний квадрат дійсним чи ні, оскільки магічний квадрат, який він перевіряє, не містить роздільників між числами. Він найняв інженера-програмного забезпечення, який допоможе йому визначити, чи є магічний квадрат дійсним чи ні.
Опис вводу
Введення надходить на аргументи STDIN або аргумент командного рядка. Ви не можете мати вхід попередньо ініціалізований у змінній (наприклад, "ця програма очікує введення змінної x
"). Введіть у такому форматі:
<top>,<middle>,<bottom>
Кожен з <top>
, <middle>
і <bottom>
це рядок , яка буде завжди містити тільки символи в верхньому регістрі I
, V
і X
. Він не буде містити пробілів або будь-яких інших символів. Кожен рядок представляє три римські цифри, внаслідок чого утворюється матриця чисел 3х3. Однак ці римські цифри можуть бути (але не обов'язково) неоднозначними . Дозвольте мені проілюструвати це прикладом. Розглянемо наступний приклад ряд із трьох римських цифр без пробілів між кожним числом:
IVIIIIX
Оскільки між літерами немає пробілів, тут є два можливості для цифр:
- 1, 8, 9 (
I VIII IX
) - 4, 3, 9 (
IV III IX
)
Якщо ви вважаєте, що всі три рядки матриці можуть бути неоднозначними, є потенціал, що з одного входу може бути багато різних 3x3 матриць.
Зауважте, що такі послідовності, як 1, 7, 1, 9 ( I VII I IX
), неможливі, оскільки кожен рядок завжди буде представляти три римські цифри. Також зауважте, що римські цифри повинні бути дійсними, тому такі послідовності, як 1, 7, 8 ( I VII IIX
), також неможливі.
Опис виходу
Вихід:
- Ціле число
A
, деA
кількість унікальних матриць 3x3, які можна сформувати з амбітного вводу, і: - Truthy значення , якщо якийсь - або з унікальних 3x3 матриць утворюють магічний квадрат, або:
- Falsy значення , якщо жоден з унікальних 3x3 матриць не утворюють магічний квадрат.
Ціннісні і хибні значення повинні відповідати. Вони відокремлені комою.
Потрібно певне пояснення щодо того, що вважається унікальним. Поки матриця не має абсолютно однакових чисел у абсолютно тих же позиціях, що і раніше знайдена матриця, вона вважається унікальною. Це означає, що відображення тощо знайдених раніше матриць вважаються унікальними.
Приклад Входи та Виходи
У цих прикладах я використовую true
як свою правдиву цінність і false
як свою хибну цінність.
Вхід: VIIIIVI,IIIVVII,IVIXII
Вихід: 24,true
(Чарівний трикутник 8-1-6, 3-5-7, 4-9-2.)
Вхід: IIIXVIII,IVIII,VIIII
Вихід:210,false
Екстри
- Вам заборонено використовувати вбудовані функції перетворення римських чисел, якщо вибрана мова є такою.