Intro
Dalam kebanyakan font semua karakter alfabet huruf besar selain BDOmemiliki garis tunggal sekitar menyentuh beberapa empat sudut persegi panjang berlari karakter: ACEFGHIJKLMNPQRSTUVWXYZ.
Misalnya, dua kaki A"menyentuh" sudut kiri bawah dan kanan bawah karakter. Demikian juga, Cmenyentuh sudut kanan atas dan bawahnya (agak melengkung tapi cukup dekat). Lhanya menyentuh sudut kiri atas dan kanan bawahnya dengan garis tunggal. Sudut kiri bawah Ladalah titik, bukan akhir dari satu baris.
Berikut adalah tabel karakter apa yang disentuh sudut mana sesuai dengan font Stack Exchange I (dan mudah-mudahan Anda) lihat. 1untuk kiri atas, 2untuk kanan atas, 3kiri 4bawah , kanan bawah.
A: 3 4
C: 2 4
E: 2 4
F: 2 3
G: 2
H: 1 2 3 4
I: 1 2 3 4
J: 1 3
K: 1 2 3 4
L: 1 4
M: 3 4
N: 2 3
P: 3
Q: 4
R: 3 4
S: 2 3
T: 1 2
U: 1 2
V: 1 2
W: 1 2
X: 1 2 3 4
Y: 1 2
Z: 1 4
Mempersiapkan
Berpura-pura seperti ini garis sentuhan sudut memanjang ke arah sudut yang mereka sentuh sehingga pengaturan karakter ini pada kotak dapat "terhubung".
Misalnya, semua karakter dalam
A
C X
terhubung karena kiri bawah Adan kanan atas Cterhubung, dan kanan bawah Adan kiri atas Xterhubung.
Namun,
CAX
tidak memiliki koneksi karena koneksi hanya terjadi secara diagonal dari satu karakter ke yang berikutnya .
Tantangan
Tuliskan program sesingkat mungkin (dalam byte) yang menampilkan semua karakter ACEFGHIJKLMNPQRSTUVWXYZdalam satu pohon besar yang sepenuhnya terhubung, sesuai dengan aturan di atas. Setiap karakter harus muncul tepat sekali. Gunakan spasi untuk ruang kosong.
Contoh
Segala sesuatu di pohon 23 huruf ini dapat dicapai dari apa pun melalui koneksi diagonal yang ditentukan di atas:
Q
A J R
C U S Y
I M N
E H X
F L T
G Z K P
V W
Catatan
- Anda dapat membuat hardcode solusi Anda.
- Output Anda hanya boleh berisi
ACEFGHIJKLMNPQRSTUVWXYZ, spasi, dan baris baru.BDOtidak akan digunakan. - Leading / trailing space baik-baik saja selama semua koneksi diposisikan dengan benar.
- Kisi keluaran tidak boleh lebih besar dari 30 kali 30 karakter (termasuk baris baru dan spasi).
- Hanya koneksi sudut yang dipertimbangkan. Bagian bawah
Ytidak terhubung ke apa pun. Anda harus menggunakan koneksi sudut dari tabel di atas. - Tidak semua sudut yang terhubung harus terhubung ke sesuatu. Sudut yang terhubung dan tidak terhubung dapat saling membatasi.
- Output ke stdout. Tidak ada input.
- Termasuk grafik konektivitas yang dibuat dengan garis miring seperti yang dilakukan Peter Taylor adalah sentuhan yang membantu tetapi tidak diperlukan.
Pembaruan:
githubhagocyte telah membuat pemeriksa validitas pohon alfabet di Github .