Há dois jogadores, Alice e Bob, cada um com uma grade de 3 por 3. Um árbitro diz a Alice para preencher uma determinada linha da grade (por exemplo, a segunda linha), colocando 1 ou 0 em cada casa, de modo que a soma dos números nessa linha seja ímpar. O árbitro diz a Bob para preencher uma coluna da grade (por exemplo, a primeira coluna), colocando 1 ou 0 em cada casa, de modo que a soma dos números nessa coluna seja par.
Alice e Bob vencem o jogo se os números de Alice resultarem em uma soma ímpar, os de Bob resultarem em uma soma par e (o mais importante) ambos tiverem escrito o mesmo número na única casa onde a linha e a coluna deles se cruzam.
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]