Biorąc pod uwagę ciąg znaków, w +=-
których jest co najmniej jeden =
, wstaw dodatnie liczby całkowite między wszystkimi symbolami oraz na początku i na końcu, aby równania matematyczne były spełnione.
Na przykład biorąc pod uwagę dane wejściowe
+-=-=
musisz wstawić dodatnie liczby całkowite od A do F w ten sposób
A+B-C=D-E=F
tak, że wszystkie równania są spełnione, tj. A + B - C
i D - E
i F
wszystkie mają tę samą liczbę.
Istnieje wiele możliwych sposobów, aby to zrobić, dopóki dopóty równania się sprawdzą, można zastosować dowolny zestaw dodatnich liczb całkowitych. Każda linia tutaj jest możliwym prawidłowym wyjściem do wprowadzenia +-=-=
:
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
Zauważ, że wartość wyrażeń nie musi być dodatnią liczbą całkowitą, jak w przypadku wstawionych liczb. Na przykład, biorąc pod uwagę dane wejściowe, -=-
wyjścia 1-10=8-17
(evals do -9) i 10-1=17-8
(evals do 9) są jednakowo ważne. Oczywiście w przypadku niektórych danych wejściowych, takich jak =
wyrażenie ujemne, ponieważ 5=5
nie można wstawić tylko liczb dodatnich .
Zauważ też, że zero nie jest dodatnią liczbą całkowitą.
Najkrótszy kod w bajtach wygrywa.
Możesz wyprowadzać liczby jako listę zamiast wstawiać je bezpośrednio w ciągu. Jeśli wypiszesz ciąg znaków, mogą istnieć spacje oddzielające symbole i liczby. Tak więc dla danych wejściowych +-=-=
, wyjściowych
2, 3, 4, 6, 5, 1
lub
2 + 3 - 4 = 6 - 5 = 1
jest równoważne z wyjściem
2+3-4=6-5=1
Przypadki testowe
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