Primero, para aquellos que no están familiarizados con el juego, así es como funciona el juego,
El objetivo del juego es apagar todas las luces, por eso se llama "Lights Out", y cada vez que se presiona el botón / luz se invierte su estado, así como sus vecinos adyacentes norte / sur / este / oeste, y eso es más o menos .
Ahora, lo que se me ocurre es usar sandalias SR o sandalias JK. Esto se debe a su capacidad de actuar como elemento de almacenamiento (el estado inicial y el siguiente). Pero parece que no puedo pensar en formas de implementarlos realmente.
Otra idea es que cada conjunto de botones y sus botones / luces adyacentes (NSEW) tendrán su propia tabla de verdad, como esta:
pero, ¿es posible que las variables de entrada sean las mismas que las variables de salida? ¿Hay alguna otra forma de hacer esto?