ศิลปะ ASCII เป็นเรื่องสนุก เครื่องมือแก้ไขข้อความที่ทันสมัยใช้งานข้อความได้ดีมาก ภาษาการเขียนโปรแกรมที่ทันสมัยขึ้นอยู่กับภารกิจหรือไม่?
งานทั่วไปหนึ่งในการจัดการศิลปะ ASCII คือการครอบตัดข้อความเป็นสี่เหลี่ยมระหว่างอักขระสองตัว นี่คือภารกิจที่คุณต้องนำไปใช้ในการท้าทายนี้
รายละเอียด
โปรแกรมของคุณจะมี 3 อินพุต:
- ตัวแรกคือตัวอักษร 'เริ่มต้น' ของบล็อก - ทำเครื่องหมายที่มุมบนซ้าย
- ที่สองคือตัวละคร 'สิ้นสุด' ของบล็อก - ทำเครื่องหมายที่มุมล่างขวา
- ที่สามคือรูปแบบของข้อความหลายบรรทัดไม่ว่าจะเป็นสตริงหรือรายการสตริงหรือชื่อไฟล์หรืออะไรก็ตาม
ผลลัพธ์จะเป็นข้อความหลายบรรทัด (อีกครั้งในรูปแบบใด ๆ ข้างต้น) ที่ถูกครอบตัดไปที่สี่เหลี่ยมผืนผ้าระหว่างอินพุตที่กำหนด โปรดทราบว่าสองอินพุตแรกอาจไม่ซ้ำกัน
กรณีขอบ
กล่องต้องมีปริมาณอย่างน้อย 2 เสมอดังนั้นสิ่งเหล่านี้:
() (
)
เป็นกล่อง แต่สิ่งเหล่านี้:
)( ) (
( )
ไม่ใช่ (ด้วย start = (
and end = )
)
อินพุตจะมีเพียงหนึ่งกล่อง ดังนั้นอักขระเริ่มต้นและสิ้นสุดจะต้องเกิดขึ้นเพียงครั้งเดียวเท่านั้นเว้นแต่จะเป็นอักขระเดียวกันซึ่งในกรณีนี้จะต้องเกิดขึ้นสองครั้ง
นอกจากนี้แต่ละบรรทัดในอินพุตจะต้องมีอย่างน้อยตราบใดที่ระยะทางจากจุดเริ่มต้นของบรรทัดไปยังขอบด้านขวาของกล่องในอินพุต
โปรแกรมของคุณไม่จำเป็นต้องจัดการอินพุตที่ไม่ถูกต้อง ซึ่งอาจส่งผลให้พฤติกรรมไม่ได้กำหนด
กฎระเบียบ
ใช้กฎรหัสกอล์ฟทั่วไป รหัสที่สั้นที่สุดชนะ
ตัวอย่าง
วันที่แดดจ้า: start: ( end: ) input:
This is some text
. (but this text
is in a box ).
So only it is important.
เอาท์พุท:
(but this text
is in a box )
สังเกตการปอกของพื้นที่แนวนอนด้วย พืชศิลปะ ASCII เป็น 2d
วันที่ฝนตก: start: ( end: ) input:
This is some text (
But is that even )
really a box?
เอาท์พุท:
(
)
จุดเริ่มต้น / จุดสิ้นสุดเดียวกัน: start: / end: / input:
Oh, I get how this could be useful
/----------------------------\
| All this text is in a box! |
\----------------------------/
เอาท์พุท:
/----------------------------\
| All this text is in a box! |
\----------------------------/
อินพุตไม่ถูกต้อง: start: ( end: ) input:
Boxes are rectangular ( so this has
0 volume ) which is illegal.
อินพุตไม่ถูกต้อง 2: start: ( end: ) input:
(The lines must already be square
so this line that is too short
relative to this end, is illegal)