Олимпиадный тренинг

Задача . ИТМО-2526 (отбор). 10–11. Налево, направо, налево, направо...


Задача

Темы: Олимпиады ИТМО

Дано логическое выражение, записанное в следующей форме:

\(\oplus \land (\oplus X \oplus X ... \oplus XX) (\land A \land B C) \oplus X \oplus X ... \oplus XX\)

Здесь знаком \(\oplus\) обозначается операция «исключающее ИЛИ».

Такая форма записи читается следующим образом: сначала указывается операция, а затем её операнды, которые могут быть переменными, константами и логическими выражениями (в этом случае они также начинаются со знака операции и читаются по таким же правилам). Выражения в скобках при вычислении имеют приоритет и вычисляются раньше.

Например, выражение \(\land \lor S T P\) в заданной форме записи будет преобразовано к стандартной форме следующим образом: \(\land \lor S T P = \land (\lor S T) P = (S \lor T) \land P\).

В приведённом выражении на месте первого многоточия ⊕X повторяется 2026 раз (с учётом трёх выписанных повторений), на месте второго многоточия — 4051 раз (также с учётом трёх выписанных повторений).

Упростите логическое выражение и запишите его в стандартной форме записи.

Примечание: переменные вводятся большими латинскими буквами; логические операции обозначаются, соответственно, not, and и or. Скобки используются только для изменения порядка выполнения операций. Если порядок выполнения операций очевиден из их приоритетов, дополнительное использование скобок считается ошибкой. Пробелы ставятся между логическими операциями и переменными. Если ответ равен константе, нужно ввести 0, если выражение эквивалентно значению FALSE, или 1, если выражению TRUE.

Пример записи ответа: (A or not B) and C


time 500 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя