giriş
En yazı olarak büyük harfli alfabe tüm karakterler yanında BDOyaklaşık karakterin sınırlama dikdörtgenin dört köşe bazı dokunmadan tek satırları vardır: ACEFGHIJKLMNPQRSTUVWXYZ.
Örneğin, iki bacağı Akarakterin sol alt ve sağ alt köşelerine "dokunur". Aynı şekilde, Csağ ve sağ alt köşelerine dokunur (biraz kavislidir, ancak yeterince yakındır). Lsadece sol üst ve sağ alt köşelere tek satırlarla dokunur. Öğesinin sol alt köşesi, Ltek 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. 1sol 2üst, sağ üst, 3sol 4alt, 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 Cbağlantı ve alt hakkını Asol ve üst Xbağlantı.
Ancak,
CAX
yalnızca bir karakterden diğerine çapraz olarak gerçekleştiğinden bağlantı yoktur .
Meydan okuma
ACEFGHIJKLMNPQRSTUVWXYZYukarı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
ACEFGHIJKLMNPQRSTUVWXYZboşluklar ve yeni satırlar bulunmalıdır .BDOkullanı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ı
Yhiç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ı .