Имя входного файла: input.txt
Имя выходного файла: output.txt
Ограничение по времени: 1 с
Ограничение по памяти: 256 МБ
- 0 и 1 — формулы.
- Если x — переменная, то x — формула.
- Если A и B — формулы, то ( A op B ) — формула, где op — одна из допустимых бинарных операций.
- Если A — формула, то ( op A ) — формула, где op — одна из допустимых унарных операций.
- Других формул нет.
- ~ — отрицание.
- / — дизъюнкция;
- /\ — конъюнкция;
- -> — импликация;
- <=> — эквивалентность;
- ^ — сумма по модулю 2;
- | — штрих Шеффера;
- ! — стрелка Пирса.
В единственной строке записана булева функция. Имена переменных имеют вид xi (i — натуральное число). Будем считать, что количество переменных функции равно наибольшему номеру переменной в формуле. Если переменных в формуле нет, то функция является константой. Пусть d — глубина дерева операций, представляющего формулу, а n — число переменных функции. Тогда гарантируется, что d + n ≤ 24 Словом будем называть либо скобку, либо переменную, либо операцию. Все слова разделены одним пробелом. Общий размер файла не превосходит 222 байт.
Выведите в единственной строке вектор коэффициентов полинома Жегалкина для данной булевой функции без разделителей, состоящий из 0 и 1. Каждый символ является коэффициентом при наборе значений, соответствующем строке таблицы истинности, строки которой расположены в лексикографическом порядке, а столбцы — в порядке возрастания индексов переменных.
input.txt | output.txt |
---|---|
1 | 1 |
x1 | 01 |
( x1 /\ x2) | 0001 |