Учитывая строку символов, +=-
где есть хотя бы один =
, вставьте положительные целые числа между всеми символами и в начале и в конце так, чтобы выполнялись математические уравнения.
Например, учитывая вход
+-=-=
вам нужно вставить положительные целые числа от A до F, как это
A+B-C=D-E=F
так что все уравнения выполняются, т. е. A + B - C
и D - E
и F
все имеют одинаковое число.
Есть много возможных способов сделать это, так как, пока уравнения работают, любой набор положительных целых чисел может использоваться. Каждая строка здесь является возможным допустимым выводом для ввода +-=-=
:
2+3-4=6-5=1
1+1-1=2-1=1
4+2-4=4-2=2
100+1-10=182-91=91
89+231-77=1024-781=243
Обратите внимание, что значение выражений не обязательно должно быть положительным целым числом, как в случае вставленных чисел. Например, при заданном входе -=-
выходы 1-10=8-17
(значение до -9) и 10-1=17-8
(значение до 9) одинаково действительны. Конечно, для некоторых входных данных, например =
, нельзя использовать отрицательное выражение, поскольку 5=5
можно вставлять только положительные числа, подобные .
Обратите внимание, что ноль не является положительным целым числом.
Самый короткий код в байтах побеждает.
Вы можете выводить числа в виде списка, а не вставлять их непосредственно в строку. Если вы выводите строку, могут быть пробелы, разделяющие символы и цифры. Итак, для ввода +-=-=
, вывода
2, 3, 4, 6, 5, 1
или
2 + 3 - 4 = 6 - 5 = 1
эквивалентно выводу
2+3-4=6-5=1
Тестовые случаи
Input | One Possible Output
= | 1=1
== | 2=2=2
+= | 1+3=4
=+ | 2=1+1
-= | 30-10=20
=- | 1=2-1
=-= | 3=7-4=3
=+= | 2=1+1=2
=== | 100=100=100=100
+=- | 3+2=7-2
-=+ | 7-2=3+2
+=+ | 3+3=3+3
-=- | 1-10=8-17
--= | 60-1-1=58
++= | 60+1+1=62
-+= | 60-9+1=52
+-= | 60+9-1=68
+-=-= | 2+3-4=6-5=1
--=-- | 2-1-1=2-1-1
==-== | 47=47=50-3=47=47
=++=+-=-+=--= | 3=1+1+1=3+1-1=1-1+3=5-1-1=3
+--++-=-+-+- | 35+10-16-29+20+107-1000=5-4+3-2+1-876
====== | 8=8=8=8=8=8=8