El juego del cuadrado mágico

Hay dos jugadores, Alice y Bob, cada uno con una cuadrícula de 3 por 3. Un árbitro le indica a Alice que complete una fila específica de la cuadrícula (por ejemplo, la segunda fila), colocando un 1 o un 0 en cada casilla, de modo que la suma de los números de esa fila sea impar. El árbitro le indica a Bob que complete una columna de la cuadrícula (por ejemplo, la primera columna), colocando un 1 o un 0 en cada casilla, de modo que la suma de los números de esa columna sea par.

Alice y Bob ganan el juego si los números de Alice producen una suma impar, los de Bob producen una suma par y (lo más importante) ambos han escrito el mismo número en la única casilla donde se cruzan su fila y su columna.

Ejemplos

magic_square_game([2, "100"], [1, "101"]) ➞ False

magic_square_game([2, "001"], [1, "101"]) ➞ True

magic_square_game([3, "111"], [2, "011"]) ➞ True

magic_square_game([1, "010"], [3, "101"]) ➞ False

# Two lists, Alice [row, "her choice"], Bob [column, "his choice"]

Notas

  • Consulta el artículo en la pestaña de recursos para ver los dos primeros ejemplos en acción.
  • La fila de Alice siempre es impar, y la columna de Bob siempre es par.