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"]