LOGIC
  • Контрольная по логике
    LOGIC


Описание
Преподаватель Петр Петрович провел контрольную работу из пяти примеров по преобразованию логических выражений и просит Вас помочь ему проверить ее результаты. 

Задача
Требуется составить программу, формирующую слово из пяти символов "+" или "-" в зависимости от того, верно или нет выполнено соответствующее преобразование, и выставляющую оценку "5", если верны все 5 примеров, оценку "4" за 4 верных примера, оценку "3" за 3 верных примера и "2" в остальных случаях.


Формат входного файла
Файл LOGIC.IN содержит 5 строк, каждая из которых записана без пробелов, имеет длину не более 255 символов и содержит по одному примеру. Пример состоит из двух логических выражений, соединенных знаком равенства, и имеет вид:

выражение=выражение

Пример считается верным, если эти выражения эквивалентны, т.е. принимают одинаковые значения на всех наборах входящих в них логических переменных. Выражение состоит из переменных и констант, соединенных знаками логических операций. Переменные обозначаются строчными латинскими буквами. Логические константы "истина" и "ложь" обозначаются, соответственно, прописными латинскими буквами T и F. Знак "~" обозначает операцию НЕ, знак "&" - операцию И, знак "|" - операцию ИЛИ. 

Операция И имеет более высокий приоритет, чем операция ИЛИ, а самой старшей является операция НЕ. Пример содержит не более 20 различных переменных.


Формат выходного файла
Выходной файл
LOGIC.OUT должен содержать две строки:

слово
оценка

Слово состоит из 5 символов "+" или "-" без пробелов между ними. 


Например:

LOGIC.IN
T=~F
x=~~x
a&~a=T
z|~z=T
x&x&~~~y&T|F|~b&b=~y&x

LOGIC.OUT
++-++
4