Considérons un carré de caractères ASCII imprimables (points de code 0x20 à 0x7E) pour la longueur du côté N , comme suit (ici, N = 6 ):
=\
g \
7
m+y "g
L ~
e> PHq
Nous avons également besoin que chaque ligne et chaque colonne contiennent au moins 1 caractère espace et 1 caractère non espace . (L'exemple ci-dessus le satisfait.)
Nous définissons le négatif d'un tel carré comme étant un carré de même taille, où chaque espace est remplacé par un non-espace et inversement. Par exemple, ce qui suit serait un négatif valide de l'exemple ci-dessus:
1234
a b cd
ZYXWV
!
{} [ ]
?
Le choix des caractères non-d'espaces est sans importance (tant qu'ils appartiennent à la plage ASCII imprimable).
Le défi
Vous devez écrire un programme, avec un code source carré avec une longueur de côté N> 1 , qui affiche un négatif de lui-même sur STDOUT. Les espaces de fin doivent être imprimés. Vous pouvez ou non imprimer une nouvelle ligne de fin.
Les règles habituelles de quine s'appliquent également, vous ne devez donc pas lire votre propre code source, directement ou indirectement. De même, vous ne devez pas assumer un environnement REPL, qui imprime automatiquement la valeur de chaque expression entrée.
Le gagnant est le programme avec la plus faible longueur du côté N . En cas d'égalité, la soumission contenant le moins de caractères non espaces du code source l'emporte. S'il y a toujours égalité, la première réponse l'emporte.