giriş
En yazı olarak büyük harfli alfabe tüm karakterler yanında BDO
yaklaşık karakterin sınırlama dikdörtgenin dört köşe bazı dokunmadan tek satırları vardır: ACEFGHIJKLMNPQRSTUVWXYZ
.
Örneğin, iki bacağı A
karakterin sol alt ve sağ alt köşelerine "dokunur". Aynı şekilde, C
sağ ve sağ alt köşelerine dokunur (biraz kavislidir, ancak yeterince yakındır). L
sadece sol üst ve sağ alt köşelere tek satırlarla dokunur. Öğesinin sol alt köşesi, L
tek bir satırın sonu değil, bir tepe noktasıdır.
İşte Stack Exchange yazı tipine (ve umarım) göre hangi köşelerin hangi köşelere dokunduğunu gösteren bir tablo. 1
sol 2
üst, sağ üst, 3
sol 4
alt, sağ alt içindir.
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
Kurmak
Köşeye temas eden bu çizgilerin, bu karakterlerin bir ızgara üzerindeki düzenlemelerinin "bağlanabilmesi" için temas ettikleri köşenin yönünde uzandığını varsayalım.
Örneğin, tüm karakterler
A
C X
alt sol çünkü bağlanır A
üst sağ ve C
bağlantı ve alt hakkını A
sol ve üst X
bağlantı.
Ancak,
CAX
yalnızca bir karakterden diğerine çapraz olarak gerçekleştiğinden bağlantı yoktur .
Meydan okuma
ACEFGHIJKLMNPQRSTUVWXYZ
Yukarıdaki kurallara göre, tüm karakterleri tam olarak bağlı büyük bir ağaçta veren en kısa programı (bayt cinsinden) yazın . Her karakter bir kez görünmelidir. Boş alan için boşluk kullanın.
Misal
Bu 23 harfli ağaçtaki her şeye yukarıda tanımlanan diyagonal bağlantılar üzerinden her şeyden ulaşılabilir:
Q
A J R
C U S Y
I M N
E H X
F L T
G Z K P
V W
notlar
- Çözümünüzü kodlayabilirsiniz.
- Çıktınızda yalnızca
ACEFGHIJKLMNPQRSTUVWXYZ
boşluklar ve yeni satırlar bulunmalıdır .BDO
kullanılmayacak. - Tüm bağlantılar uygun şekilde konumlandırıldığı sürece öndeki / arkadaki boşluklar iyi.
- Çıktı ızgarası 30 x 30 karakterden (satırsonu ve boşluk dahil) büyük olmamalıdır.
- Sadece köşe bağlantıları dikkate alınır. Alt kısmı
Y
hiçbir şeye bağlanmaz. Yukarıdaki tablodan köşe bağlantılarını kullanmalısınız. - Tüm bağlanabilir köşelerin bir şeye bağlanması gerekmez. Bağlanabilir ve bağlanamaz köşeler birbirlerini sınırlayabilir.
- Stdout'a çıktı. Hiçbir girdi yok.
- Peter Taylor'ın yaptığı gibi eğik çizgilerle yapılmış bir bağlantı grafiği eklemek yararlı bir dokunuş ama gerekli değil.
Güncelleme:
githubhagocyte Github üzerinde bir alfabe ağacı geçerlilik denetleyicisi yaptı .