Перемещение палочек
Вот простая головоломка: переместите одну палочку в приведенной ниже фигуре, чтобы уравнение стало верным.
Легко, правда? Вот решение:
Напишите программу для решения подобных головоломок, учитывая следующие условия:
Каждая головоломка состоит из левого операнда, оператора, правого операнда, знака равенства и результата. Операнды и результат — это числа, состоящие из одной или более цифр, и они меньше 2^31.
Оператор и знак равенства изменять нельзя. Разрешается перемещать только палочки, составляющие цифры.
Нельзя полностью удалять цифры или добавлять новые. (т.е. можно только изменять цифры.)
Ведущие нули разрешены как во входных данных, так и в выводе. Ведущие нули в выводе должны быть напечатаны.
Каждая головоломка указывает количество необходимых перемещений. Ваше решение должно перемещать столько палочек, сколько указано. Палочка может быть перемещена не более одного раза; её нельзя перемещать снова. Если палочка перемещена, её первоначальное место должно оставаться пустым. (т.е. нельзя перемещать другую палочку на это место.)
При решении головоломки, связанной с делением, деление должно быть точным целочисленным делением, т.е. без остатка.
Цифры "написаны" следующим образом:
Входные данные
Ваша программа будет тестироваться на одном или нескольких тестах. Каждый тест представлен в одной строке в следующем формате:
A ⊙ B = R (n)
где A, B и R — последовательности из одной или более цифр, но не более девяти цифр. ⊙ — один из четырех операторов: + - * /. n — натуральное число, представляющее количество перемещаемых палочек. Одно или несколько пробелов разделяют A, ⊙, B, =, R и (n).
Конец тестов обозначается отдельной строкой со словом "EOF" (без кавычек).
Выходные данные
Для каждой головоломки ваша программа должна напечатать одну строку в следующем формате:
k. result
Где k — номер головоломки (начиная с 1), а result — уравнение после решения головоломки. result не содержит пробелов.
В случае нескольких решений, напечатайте только одно. Если головоломку невозможно решить, напечатайте "UNSOLVABLE" (без кавычек) в качестве результата.