Rozważ kwadrat drukowanych znaków ASCII (punkty kodowe 0x20 do 0x7E) dla długości boku N , podobnie jak poniżej (tutaj, N = 6 ):
=\
g \
7
m+y "g
L ~
e> PHq
Wymagamy również, aby każdy wiersz i każda kolumna zawierały co najmniej 1 spację i 1 znak spacji . (Powyższy przykład to spełnia.)
Definiujemy negatyw takiego kwadratu, aby był kwadratem tego samego rozmiaru, w którym każda spacja jest zastępowana spacją i odwrotnie. Np. Następujący przykład byłby prawidłowym negatywem powyższego przykładu:
1234
a b cd
ZYXWV
!
{} [ ]
?
Wybór znaków spacji nie ma znaczenia (o ile pochodzą one z drukowanego zakresu ASCII).
Wyzwanie
Musisz napisać program z kwadratowym kodem źródłowym o długości boku N> 1 , który wypisuje swój negatyw na STDOUT. Przestrzenie końcowe mają być drukowane. Możesz wydrukować pojedynczy znak nowej linii lub nie.
Obowiązują również zwykłe reguły quine, więc nie wolno czytać własnego kodu źródłowego, bezpośrednio lub pośrednio. Podobnie nie wolno zakładać środowiska REPL, które automatycznie drukuje wartość każdego wprowadzonego wyrażenia.
Zwycięzcą jest program o najmniejszej długości boku N . W przypadku remisu wygrywa zgłoszenie z najmniejszą liczbą spacji w kodzie źródłowym. Jeśli nadal jest remis, wygrywa najwcześniejsza odpowiedź.