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

magicSquareGame([2, 100], [1, 101]) ➞ false

magicSquareGame([2, 001], [1, 101]) ➞ true

magicSquareGame([3, 111], [2, 011]) ➞ true

magicSquareGame([1, 010], [3, 101]) ➞ false

// Two arrays, 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.