Pertanyaan ini diinspirasi oleh sampul buku "Godel, Escher, Bach":
Tantangannya di sini adalah untuk menulis fungsi yang memberi tahu jika tiga huruf yang diberikan dapat menghasilkan patung 3D yang dapat dibaca dari tiga sisi.
Untuk latihan ini, satu-satunya huruf yang dapat Anda gunakan adalah 26 5px * 5px bitmap:
Atau dalam biner (A ke 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
Patung ini dibentuk oleh tiga huruf dengan urutan sebagai berikut:
- huruf satu di atas,
- huruf dua di sebelah kiri
- huruf tiga di sebelah kanan
- bagian bawah huruf satu terikat ke bagian atas huruf dua.
Contoh:
Fungsi Anda dapat menerima sebagai input tiga huruf besar (tiga karakter atau tiga string dari satu huruf), dan menghasilkan boolean (benar / salah atau 0/1) mengatakan jika patung yang sesuai dapat ada.
Contoh:
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: Anda dapat mengembalikan true bahkan jika patung itu mengandung "piksel terbang" (kubus atau kelompok kubus yang tidak terikat dengan apa pun).
Celah standar berlaku.
Lebih tepatnya, Anda tidak dapat menggunakan input eksternal selain tiga huruf, dan Anda tidak dapat membuat kode kemungkinan 17576 jawaban yang mungkin dalam kode sumber Anda
Jawaban terpendek dalam karakter dalam bahasa apa pun akan menang!
Selamat bersenang-senang :)