Esse desafio é elevar o ânimo do nosso mod Alex A. , que geralmente está errado .
Suponha que você tenha um amigo chamado Alex que precise de ajuda com lógica e matemática básicas, especificamente equivalência matemática .
Ele fornece uma lista de equações da forma em [variable] = [variable]que a [variable]é sempre uma única letra maiúscula de A a Z (nem uma letra minúscula, nem um número, nem qualquer outra coisa). Há uma equação por linha na lista, exceto por uma única linha que diz apenas therefore.
Todas as equações acima thereforesão premissas , fatos que são assumidos como verdadeiros. Todas as equações abaixo thereforesão proposições não verificadas, fatos que Alex está tentando inferir a partir das premissas, e podem ou não ser verdadeiras.
Por exemplo, nesta lista de equações, a única proposição conclusiva A = Cé verdadeira:
A = B
B = C
therefore
A = C
É seu trabalho dizer a Alex se todas as suas proposições seguem logicamente a partir das premissas fornecidas. Ou seja, você precisa dizer a Alex se ele está certo ou errado em suas conclusões.
Escreva um programa / função que inclua uma sequência de uma lista de equações conforme descrito e imprima / retorne
Alex is right
se todas as conclusões derivam logicamente das premissas e, de outra forma, produzem
Alex is wrong
se alguma conclusão não resultar logicamente das premissas.
O código mais curto em bytes vence.
Cuidado com esses casos:
Variável sempre se iguala. por exemplo
B = A therefore A = A X = Xresulta em
Alex is right.Variáveis com relacionamentos desconhecidos não podem ser consideradas iguais. por exemplo
P = Q therefore E = Rresulta em
Alex is wrong.Quando não há equações após o
therefore, as conclusões são vacuamente verdadeiras . por exemploD = C thereforee
thereforeambos resultam em
Alex is right.Quando não existem equações antes
therefore, apenas a auto-igualdade pode ser inferida. por exemplotherefore R = Rresulta em
Alex is right, mastherefore R = Wresulta em
Alex is wrong.
Mais exemplos
Alex está com casos errados: (separados por linhas vazias)
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
Alex está certo:
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 wrongVerifica todos os casos de teste.