คุณควรเขียนโปรแกรมหรือฟังก์ชั่นที่ได้รับบล็อกของตัวอักษรที่แสดงเป็นสตริงและเอาท์พุทหรือส่งกลับสตริงที่คล้ายกันซึ่งตัวอักษรที่อยู่ติดกันในตัวอักษรมีการเชื่อมต่อ
ตัวอย่างภาพ (ในรูปแบบของinput => output
):
b d b d
|\ /|
| \ / |
=> | X |
| / \ |
e |/ \e
c a c a
รายละเอียด
- ข้อมูลที่ป้อนจะเป็นสตริงที่มีช่องว่างบรรทัดใหม่และ
N
ตัวอักษรตัวพิมพ์เล็กตัวแรกของอักขระ1 <= N <= 26
- เส้นของอินพุตจะถูกเสริมด้วยช่องว่างที่สร้างบล็อกสี่เหลี่ยมเต็ม
\ / | or -
คู่ของตัวอักษรที่อยู่ติดกันในตัวอักษรทุกคนจะอยู่ในแถวเดียวกันคอลัมน์หรือเส้นทแยงมุมและควรจะเชื่อมต่อกับเส้นตรงโดยใช้ ASCII (บรรทัดอาจมีความยาว 0)ควรจัดการเหลื่อมทับสองบรรทัดต่อไปนี้:
/ and \ become X | and - become + / and / become / \ and \ become \ | and | become | - and - become - [letter] and [anything] become [letter]
การทับซ้อนสองบรรทัดแบบอื่นจะไม่เกิดขึ้น
- หากมีมากกว่าสองบรรทัดทับซ้อนคู่ใด ๆ ของพวกเขาจะรับประกันว่าจะเป็นหนึ่งในการทับซ้อนที่ถูกต้อง (เช่น
[letter] / |
triplet จะไม่เกิดขึ้น) - นอกเหนือจากการเปลี่ยนช่องว่างเป็น
\ / | - X and +
อินพุตและเอาต์พุตควรเหมือนกัน - ขึ้นบรรทัดใหม่เป็นตัวเลือก แต่จะต้องเหมือนกันสำหรับอินพุตและเอาต์พุต
- นี่คือรหัสกอล์ฟเพื่อให้รายการที่สั้นที่สุดชนะ
ตัวอย่าง
การป้อนข้อมูล:
b d
h gi
e f
c a
เอาท์พุท:
b d
|\ /|
| \ / |
| X h+--gi
| / \ | |
|/ \e--f
c a
การป้อนข้อมูล:
dk j
b l
c fg
a m
i h
e
เอาท์พุท:
dk----j
/|| /
b / |l /
|X | \/
c \ fg/\
\|/\ \
a \ m
/| \
i-+----h
e
การป้อนข้อมูล:
eti sqjh k p u cfm vb owgzyx rnd la
เอาท์พุท:
eti--sqjh-k--p--u--cfm-vb-owgzyx-rnd-la
การป้อนข้อมูล:
a
เอาท์พุท:
a
ascii art ที่ดีจริงๆ
—
เครื่องมือเพิ่มประสิทธิภาพ
จะเกิดอะไรขึ้นถ้าทั้ง X และ + ทับซ้อนกันควรอยู่ในจุดเดียวกัน หรือนั่นไม่ใช่กรณีที่เราควรคำนึงถึง
—
theonlygusti
@theonlygusti "หากมีมากกว่าสองบรรทัดทับซ้อนคู่ใด ๆ ของพวกเขาจะเป็นหนึ่งในการทับซ้อนที่ถูกต้อง" เช่น
—
randomra
/
และ-
มีการทับซ้อนที่ไม่ถูกต้องX
และ+
( / \ - and |
) ไม่สามารถเกิดขึ้นที่ตำแหน่งเดียวกัน
ยังสับสนอยู่ ทำไมไม่ให้ตัวอย่างกับเรา?
—
theonlygusti
@theonlygusti: โดยทั่วไปไม่ใช่กรณีที่คุณควรคำนึงถึง
—
Claudiu