Este desafío es levantar el espíritu de nuestro mod Alex A. , que generalmente se equivoca .
Supongamos que tiene un amigo llamado Alex que necesita ayuda con la lógica básica y las matemáticas, específicamente la equivalencia matemática .
Te da una lista de ecuaciones de la forma [variable] = [variable]
en la que a [variable]
siempre es una letra mayúscula de la A a la Z (no una letra minúscula, ni un número, ni ninguna otra cosa). Hay una ecuación por línea en la lista, excepto por una sola línea que solo dice therefore
.
Todas las ecuaciones anteriores therefore
son premisas , hechos que se suponen verdaderos. Todas las ecuaciones a continuación therefore
son proposiciones no verificadas, hechos que Alex intenta inferir de las premisas, y pueden o no ser ciertas.
Por ejemplo, en esta lista de ecuaciones, la proposición concluyente única A = C
es verdadera:
A = B
B = C
therefore
A = C
Es su trabajo decirle a Alex si todas sus proposiciones se siguen lógicamente de las premisas dadas. Es decir, debe decirle a Alex si está equivocado o correcto en sus conclusiones.
Escriba un programa / función que tome una cadena de una lista de ecuaciones como se describe e imprime / devuelve
Alex is right
si todas las conclusiones se siguen lógicamente de las premisas y, de lo contrario, salen
Alex is wrong
si alguna conclusión no se deduce lógicamente de las premisas.
El código más corto en bytes gana.
Asegúrese de estar atento a estos casos:
La variable siempre se iguala a sí misma. p.ej
B = A therefore A = A X = X
resultados en
Alex is right
.No se puede suponer que las variables con relaciones desconocidas sean iguales. p.ej
P = Q therefore E = R
resultados en
Alex is wrong
.Cuando no hay ecuaciones después de
therefore
entonces, las conclusiones son vacías . p.ejD = C therefore
y
therefore
ambos resultan en
Alex is right
.Cuando no hay ecuaciones antes,
therefore
entonces solo se puede inferir la auto-igualdad. p.ejtherefore R = R
resulta en
Alex is right
, perotherefore R = W
resultados en
Alex is wrong
.
Más ejemplos
Alex tiene casos incorrectos: (separados por líneas vacías)
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 tiene razón casos:
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
Verifica todos los casos de prueba.