Це завдання полягає в піднятті духу нашого мода Алекса А. , який, як правило, помиляється .
Припустимо, у вас є друг на ім’я Алекс, якому потрібна допомога з базової логіки та математики, зокрема математичної еквівалентності .
Він дає вам список рівнянь форми, [variable] = [variable]
де а [variable]
- це завжди одна велика літера А - Z (не мала літера, не число, ані щось інше). У списку є одне рівняння на рядок, за винятком окремого рядка therefore
.
Усі рівняння вище therefore
є передумовами , факти, які вважаються істинними. Усі рівняння, наведені нижче, - therefore
це неперевірені пропозиції, факти, які Алекс намагається зробити з приміщень, і вони можуть бути, а можуть і не бути правдою.
Наприклад, у цьому списку рівнянь єдине суперечливе судження A = C
є істинним:
A = B
B = C
therefore
A = C
Ваша робота сказати Алексу, якщо всі його пропозиції логічно випливають із заданих приміщень. Тобто вам потрібно повідомити Алексу, чи він помиляється чи має рацію у своїх висновках.
Напишіть програму / функцію, яка містить рядок зі списку рівнянь, як описано, та друкує / повертає
Alex is right
якщо всі висновки логічно випливають із приміщень, а інакше виводяться
Alex is wrong
якщо будь-який висновок логічно не випливає з приміщення.
Виграє найкоротший код у байтах.
Обов’язково слідкуйте за цими випадками:
Змінна завжди дорівнює собі. напр
B = A therefore A = A X = X
результати в
Alex is right
.Змінні з невідомими співвідношеннями не можна вважати рівними. напр
P = Q therefore E = R
результати в
Alex is wrong
.Коли рівнянь після того
therefore
часу не існує, то висновки безперечно правдиві . напрD = C therefore
і
therefore
обидва результати в
Alex is right
.Коли до рівня
therefore
тоді немає рівнянь, можна зробити висновок лише про саморівність. напрtherefore R = R
результати в
Alex is right
, алеtherefore R = W
результати в
Alex is wrong
.
Більше прикладів
Алекс помиляється у випадках: (розділені порожніми рядками)
A = B
C = D
therefore
A = C
A = L
E = X
A = I
S = W
R = O
N = G
therefore
G = N
L = I
R = O
S = A
X = X
X = E
D = K
D = Q
L = P
O = L
M = O
therefore
K = L
A = B
therefore
B = C
Z = A
S = S
therefore
A = Z
A = A
S = A
A = S
Z = A
Z = A
K = L
K = X
therefore
X = P
L = X
L = P
therefore
A = B
B = C
A = C
therefore
A = A
B = B
C = C
D = D
E = E
F = F
G = G
H = H
I = I
J = J
K = K
T = I
L = L
M = M
N = N
O = O
P = P
Q = Q
R = R
S = S
T = T
U = U
V = V
W = W
X = X
Y = Y
Z = Z
A = B
B = C
C = D
D = E
E = F
F = G
G = H
H = I
I = J
J = K
K = L
L = M
M = N
N = O
O = P
P = O
Q = R
R = S
S = T
T = U
U = V
V = W
W = X
X = Y
Y = Z
therefore
A = Z
therefore
C = D
T = Y
A = Z
P = Q
therefore
E = R
therefore
R = W
Алекс має рацію:
H = J
therefore
J = H
K = L
K = X
therefore
L = X
C = B
B = A
therefore
A = B
K = L
K = X
K = P
therefore
L = X
L = P
X = P
A = Y
Y = Q
Q = O
therefore
O = Y
O = A
C = C
therefore
C = C
A = B
B = A
therefore
A = B
B = A
A = B
B = C
C = D
therefore
A = A
A = B
A = C
A = D
B = A
B = B
B = C
B = D
C = A
C = B
C = C
C = D
D = A
D = B
D = C
D = D
therefore
A = A
B = B
C = C
D = D
E = E
F = F
G = G
H = H
I = I
J = J
K = K
L = L
M = M
N = N
O = O
P = P
Q = Q
R = R
S = S
T = T
U = U
V = V
W = W
X = X
Y = Y
Z = Z
D = I
F = H
J = M
therefore
M = J
D = I
H = F
A = B
B = C
C = D
D = E
E = F
F = G
G = H
H = I
I = J
J = K
K = L
L = M
M = N
N = O
O = P
P = Q
Q = R
R = S
S = T
T = U
U = V
V = W
W = X
X = Y
Y = Z
therefore
Z = A
F = R
G = I
W = L
A = B
B = C
therefore
A = C
B = A
therefore
A = A
X = X
P = P
C = G
M = C
therefore
D = C
therefore
therefore
therefore
R = R
therefore\nTABS < SPACES
->Alex is right
Alex is wrong
Перевіряє всі тестові випадки.