Ребус
(Время: 1 сек. Память: 32 Мб Сложность: 34%)
Вам дан математический ребус. Для того, чтобы его разгадать, в свободные ячейки требуется вставить целые числа от 1 до 99 так, чтобы выполнялись равенства.
Ребус представляет собой таблицу 5×5, содержит 2 целых числа A и B, расположенных в верхнем левом и нижем правом углах соответственно. Также в 6 ячейках таблицы содержатся математические операции «+», «–», «*» и «:», обозначающие соответственно сложение, вычитание, умножение и деление. В 6 ячейках записаны знаки «=» – равенства.
Рис. 1. Пример ребуса
| |
Рис. 2. Схема ребуса
|
По заданным значениям A и B, а также по заданным 6 знакам арифметических операций в ребусе необходимо вычислить количество возможных решений. При этом заполнять 7 свободных клеток ребуса можно только целыми числами от 1 до 99.
Входные данные
Первые две строки входного файла INPUT.TXT содержат целые числа A и B (1 ≤ A, B ≤ 99). В третьей строке записана последовательность операций «+», «–», «*» и «:» согласно схеме без разделителей (см. рис. 2), где цифрами обозначен порядок и расположение арифметических операций.
Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число – количество возможных решений ребуса.
Примеры
| № | INPUT.TXT | OUTPUT.TXT | Пояснение |
| 1 | 10 29 ++++++ | 153 |
Одно из 153 возможных решений ребуса:
| 10 | + | 3 | = | 13 |
| + | | + | | + |
| 10 | + | 6 | = | 16 |
| = | | = | | = |
| 20 | + | 9 | = | 29 |
|
|
| 2 | 13 7 +-*::- | 1 |
Единственное решение ребуса:
| 13 | + | 1 | = | 14 |
| - | | * | | : |
| 4 | : | 2 | = | 2 |
| = | | = | | = |
| 9 | - | 2 | = | 7 |
|
|
Система оценки
Решения, работающие только для операций «+», будут оцениваться в 20 баллов.
Решения, работающие только для операций «+» и «–», будут оцениваться в 40 баллов.
Замечание
Для решения данной задачи на языке Python рекомендуется использовать интерпретатор PyPy для ускорения работы программы.
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
|