Diese Frage ist vom Cover des Buches "Godel, Escher, Bach" inspiriert:
Die Herausforderung besteht darin, eine Funktion zu schreiben, die angibt, ob drei gegebene Buchstaben eine 3D-Skulptur erzeugen können, die von drei Seiten gelesen werden kann.
In dieser Übung können Sie nur 26 5px * 5px-Bitmaps verwenden:
Oder binär (von A bis Z):
01110 11110 01111 11110 11111 11111 11111 10001 11111 11111 10001 10000 10001 10001 01110 11110 01110 11110 01111 11111 10001 10001 10001 10001 10001 11111
10001 10001 10000 10001 10000 10000 10000 10001 00100 00100 10010 10000 11011 11001 10001 10001 10001 10001 10000 00100 10001 10001 10001 01010 01010 00010
10001 11110 10000 10001 11100 11110 10011 11111 00100 00100 11100 10000 10101 10101 10001 10001 10001 11111 01110 00100 10001 01010 10001 00100 00100 00100
11111 10001 10000 10001 10000 10000 10001 10001 00100 10100 10010 10000 10001 10011 10001 11110 10011 10010 00001 00100 10001 01010 10101 01010 00100 01000
10001 11110 01111 11110 11111 10000 11111 10001 11111 11100 10001 11111 10001 10001 01110 10000 01111 10001 11110 00100 01110 00100 01010 10001 00100 11111
Die Skulptur besteht aus drei Buchstaben in der folgenden Reihenfolge:
- beschriften sie eine auf die spitze,
- Buchstabe zwei auf der linken Seite
- Buchstabe drei rechts
- Der untere Teil des ersten Buchstabens ist an den oberen Teil des zweiten Buchstabens gebunden.
Beispiel:
Ihre Funktion akzeptiert möglicherweise drei Großbuchstaben (drei Zeichen oder drei Zeichenfolgen aus einem Buchstaben) als Eingabe und gibt einen Booleschen Wert (true / false oder 0/1) aus, der angibt, ob die entsprechende Skulptur vorhanden sein kann.
Beispiel:
f("B","E","G") // true (because if you "sculpt out" B on top + E on the left + G on the right, and watch the three sides of the sculpture, you'll see exactly B, E and G as they are defined)
f("B","G","E") // false (because if you "sculpt out" B on top + G on the left + E on the right, and watch the three sides of the sculpture, you won't see a complete G and a complete E. Their shapes bother each other)
NB: Sie können true zurückgeben, auch wenn die Skulptur "fliegende Pixel" enthält (Würfel oder eine Gruppe von Würfeln, die an nichts gebunden sind).
Es gelten Standardlücken.
Genauer gesagt, Sie können keine externen Eingaben neben den drei Buchstaben verwenden und die 17576 möglichen Antworten in Ihrem Quellcode nicht fest codieren
Kürzeste Antwort in Zeichen in einer Sprache gewinnt!
Habe Spaß :)