У математиці знак оклику !часто означає фактор, і він настає після аргументу.
У програмуванні знак оклику !часто означає заперечення, і це ставиться перед аргументом.
Для цього виклику ми застосуємо лише ці операції до нуля та однієї.
Factorial
0! = 1
1! = 1
Negation
!0 = 1
!1 = 0
Візьміть рядок нуля або більше !'s, за яким 0або 1, за ним нуль або більше !' s ( /!*[01]!*/).
Наприклад, вхідний сигнал може бути !!!0!!!!або !!!1або !0!!або 0!або 1.
"З !" перед 0або 1є запереченнями, а !"після" - історіями.
Факториал має більшу перевагу, ніж заперечення, тому факториали завжди застосовуються першими.
Наприклад, !!!0!!!!справді означає !!!(0!!!!), а ще краще !(!(!((((0!)!)!)!))).
Виведіть результативне застосування всіх факторіалів та заперечень. Вихід завжди буде 0або 1.
Випробування
0 -> 0
1 -> 1
0! -> 1
1! -> 1
!0 -> 1
!1 -> 0
!0! -> 0
!1! -> 0
0!! -> 1
1!! -> 1
!!0 -> 0
!!1 -> 1
!0!! -> 0
!!!1 -> 0
!!!0!!!! -> 0
!!!1!!!! -> 0
Виграє найкоротший код у байтах.
