Intro
ในแบบอักษรที่ส่วนใหญ่ทั้งหมดของตัวละครตัวอักษรตัวพิมพ์ใหญ่นอกเหนือจากการมีสายเดียวประมาณสัมผัสบางส่วนของมุมทั้งสี่ของตัวละครวิ่งสี่เหลี่ยมผืนผ้า:BDO
ACEFGHIJKLMNPQRSTUVWXYZ
ตัวอย่างเช่นสองขาของA
"แตะ" ที่มุมล่างซ้ายและขวาล่างของตัวละคร ในทำนองเดียวกันให้C
สัมผัสที่มุมด้านบนและด้านล่างขวา (มันโค้งเล็กน้อย แต่ใกล้พอ) L
เพียงสัมผัสมันเป็นมุมบนซ้ายและขวาล่างที่มีบรรทัดเดียว มุมซ้ายล่างของL
คือจุดยอดไม่ใช่จุดสิ้นสุดของบรรทัดเดียว
นี่คือตารางของสิ่งที่ตัวละครสัมผัสมุมที่ตามตัวอักษรกองแลกเปลี่ยนฉัน (และหวังว่าคุณ) เห็น 1
สำหรับซ้ายบน2
คือซ้ายขวา3
ล่างซ้าย4
ล่างขวา
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
ติดตั้ง
ทำท่าเหมือนเส้นที่มุมสัมผัสเหล่านี้ขยายไปในทิศทางของมุมที่สัมผัสเพื่อให้การจัดเรียงอักขระเหล่านี้บนตารางสามารถ "เชื่อมต่อ" ได้
ตัวอย่างเช่นตัวละครทั้งหมดใน
A
C X
มีการเชื่อมต่อเนื่องจากด้านล่างซ้ายA
และขวาบนของการC
เชื่อมต่อและด้านล่างขวาA
และซ้ายบนของการX
เชื่อมต่อ
อย่างไรก็ตาม
CAX
ไม่มีการเชื่อมต่อเนื่องจากการเชื่อมต่อจะเกิดขึ้นตามแนวทแยงมุมจากอักขระหนึ่งไปยังอีกตัวหนึ่งเท่านั้น
ท้าทาย
เขียนโปรแกรมที่สั้นที่สุดเท่าที่จะเป็นไปได้ (เป็นไบต์) ที่ส่งออกอักขระทั้งหมดในACEFGHIJKLMNPQRSTUVWXYZ
ต้นไม้ใหญ่ที่เชื่อมต่อเต็มที่ตามกฎด้านบน ตัวละครแต่ละตัวจะต้องปรากฏอย่างแน่นอนหนึ่งครั้ง ใช้ช่องว่างสำหรับพื้นที่ว่าง
ตัวอย่าง
ทุกอย่างในต้นไม้ 23 ตัวนี้สามารถเข้าถึงได้จากสิ่งอื่นผ่านการเชื่อมต่อเส้นทแยงมุมที่กำหนดไว้ข้างต้น:
Q
A J R
C U S Y
I M N
E H X
F L T
G Z K P
V W
หมายเหตุ
- คุณอาจ hardcode โซลูชันของคุณ
- ผลลัพธ์ของคุณควรมี
ACEFGHIJKLMNPQRSTUVWXYZ
ช่องว่างและขึ้นบรรทัดใหม่เท่านั้นBDO
จะไม่ถูกใช้ - ช่องว่างนำหน้า / ท้ายสุดนั้นใช้ได้ตราบใดที่การเชื่อมต่อทั้งหมดอยู่ในตำแหน่งที่เหมาะสม
- ตารางผลลัพธ์ไม่ควรมีขนาดใหญ่กว่า 30 คูณ 30 ตัวอักษร (รวมถึงบรรทัดใหม่และช่องว่าง)
- ถือว่าเชื่อมต่อมุมเท่านั้น ด้านล่างของ
Y
ไม่เชื่อมต่อกับอะไร คุณต้องใช้การเชื่อมต่อมุมจากตารางด้านบน - ไม่ใช่ทุกมุมที่เชื่อมต่อได้จำเป็นต้องเชื่อมต่อกับบางสิ่ง มุมที่เชื่อมต่อได้และไม่สามารถเชื่อมต่อกันอาจเชื่อมต่อกัน
- ส่งออกไปยัง stdout ไม่มีอินพุต
- การรวมกราฟการเชื่อมต่อที่ทำด้วยเครื่องหมายสแลชอย่างที่Peter Taylorได้ทำไว้นั้นมีประโยชน์ แต่ไม่จำเป็นต้องมีการสัมผัส
ปรับปรุง:
githubhagocyte ได้ทำตรวจสอบความถูกต้องของตัวอักษรต้นไม้ไปบน Github