Ограничения: время – 2s/4s, память – 128MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Перед вами загадка. Переместите одну спичку таким образом, чтобы получилось верное равенство.
Простая загадка, не правда ли? Вот решение.
Напишите программу, решающую подобные загадки при условии, что:
- загадка состоит из двух операндов, знака операции, знака равенства и результата. Оба операнда и результат – натуральные числа, меньшие `2^31`;
- знак операции и знак равенства трогать нельзя, можно перемещать только спички, из которых сложены цифры;
- нельзя полностью убирать цифры или добавлять новые цифры, можно только изменять цифры;
- лидирующие нули допускаются как во входном, так и в выходном файле;
- количество перемещаемых спичек задаётся, любая спичка перемещается не более одного раза, если спичка убрана, то её место остаётся пустым, то есть на это место уже нельзя переместить другую спичку;
- если загадка содержит операцию деления, то это должно быть деление нацело, то есть без остатка;
- цифры изображаются так:
Ввод
Во входном файле записана символьная строка вида `A\ ♦\ B=R(n)`, где `A` и `B` – операнды, `R` – результат, `♦` – знак операции +, -, * или /, `n` – количество перемещаемых спичек. Строка не содержит пробелов.
Вывод
Запишите в выходной файл решение загадки в виде `A'\ ♦\ B'=R'`. Если задача имеет несколько решений, выведите любое из них. Если задача не имеет решения, запишите в файл слово "UNSOLVABLE".
Пример вывода 3
UNSOLVABLE
Источник: Весенний турнир Мартовского зайца, 2008