ในความท้าทายนี้เราจะสร้างการค้นหาคำที่มีหลายโปรแกรมในภาษาต่างๆ
ฉันเริ่มต้นเราด้วยตารางของช่องว่าง 60 x 25 ( ·
) ซึ่งบางส่วนจะถูกแทนที่ด้วยอักขระของโปรแกรม Ruby
หากต้องการตอบให้เลือกภาษาที่ยังไม่ได้ใช้ ใช้ภาษาที่คุณเลือกเขียนโปรแกรมที่อ่านตัวอักษรโทเค็นบรรทัดหรืออินพุตทั้งหมดจากคอนโซลแล้วพิมพ์ออกมา จากนั้นแทรกโปรแกรมของคุณลงในการค้นหาคำ
ตัวอย่างเช่นสมมติว่าคุณเลือกหลาม 3 print(input())
สำหรับคำตอบของคุณและเขียนโปรแกรม ตอนนี้คุณต้องแทรกโปรแกรมนั้นลงในตาราง
หากตารางก่อนคำตอบของคุณจะเป็นดังนี้:
···a·24··········
··z····t·········
จากนั้นคุณสามารถวางโปรแกรมของคุณในบรรทัดที่สองซ้อนทับกับที่มีอยู่t
:
···a·24··········
··zprint(input())
โปรดทราบว่าคุณสามารถวางโปรแกรมของคุณในทิศทางใดก็ได้: ไปข้างหน้าถอยหลังถอยหลังขึ้นหรือลงตามแนวทแยงมุมตราบใดที่มันอยู่ในแนวเส้นตรง
แต่จะเป็นอย่างไรถ้ากริดที่มีอยู่มีลักษณะดังนี้:
···a·24··········
··z····q·········
ไม่มีวิธีที่จะทำให้พอดีกับที่print(input())
นี่โดยไม่ต้องเปลี่ยนตัวละครที่มีอยู่ซึ่งเป็นสิ่งต้องห้าม แต่คุณสามารถเปลี่ยนโปรแกรมได้:
print(
input())
โปรแกรมสองบรรทัดนี้เหมาะอย่างเรียบร้อย:
···a·24·print(···
··z····q input())
ที่นี่คุณจะแทนที่ช่องว่าง ( ·
) ด้วยช่องว่าง ( ) อย่างไรก็ตามช่องว่างก็เหมือนกับตัวละครอื่น ๆ และไม่สามารถเขียนทับในโปรแกรมในอนาคตได้
เช่นเดียวกับสายการบินโปรแกรมหลายบรรทัดสามารถวางในทิศทางใดก็ได้ ตัวอย่างเช่นในกริดที่ใหญ่ขึ้นคุณสามารถทำสิ่งต่อไปนี้ได้โดยหมุนโปรแกรมตามเข็มนาฬิกา 135 °
··········
········ ·
·······i·p
······n·r·
·····p·i··
····u·n···
···t·t····
··(·(·····
·)········
)·········
เกณฑ์การให้คะแนน
คะแนนของคุณสำหรับแต่ละคำตอบคือสามสิบหารด้วยจำนวนอักขระที่เพิ่มเข้ามา อย่านับตัวอักษรที่มีอยู่แล้วในกริดแม้ว่าคุณจะใช้ด้วยตัวเองก็ตาม
คะแนนรวมของคุณคือผลรวมของคะแนนสำหรับคำตอบทั้งหมดของคุณคูณด้วยจำนวนคำตอบ คะแนนสูงสุดชนะ
กฎระเบียบ
- ทุกคำตอบจะต้องเขียนด้วยภาษาที่แตกต่างกัน ภาษาที่แตกต่างกันเฉพาะในหมายเลขรุ่น (เช่น Python 2 และ Python 3) จะถือว่าเหมือนกัน
- ทุกคำตอบจะต้องต่อยอดจากคำตอบที่ถูกต้องล่าสุด กล่าวคือนำกริดของคำตอบล่าสุดนั้นมาใส่โปรแกรมของคุณลงไป
- ในการแทรกโปรแกรมของคุณให้แทนที่อย่างน้อยหนึ่งช่องว่าง (
·
) ด้วยอักขระที่คุณเลือก คุณอาจใช้อักขระที่มีอยู่จากกริดในคำตอบของคุณ แต่คุณไม่สามารถเปลี่ยนแปลงหรือย้ายอักขระใด ๆ ได้ - คุณไม่สามารถแทรกอักขระได้เกิน 500 ตัวในคำตอบทั้งหมดของคุณ
- อักขระทั้งหมดที่คุณแทรกจะต้องเป็นส่วนหนึ่งของโปรแกรมของคุณ
- โปรแกรมของคุณอาจประกอบด้วยเฉพาะ ASCII ที่พิมพ์ได้และการขึ้นบรรทัดใหม่ แต่อาจไม่มีการขึ้นบรรทัดใหม่ต่อเนื่องกันสองบรรทัดขึ้นไป
- ขึ้นบรรทัดใหม่จะไม่นับรวมคะแนนของคุณ
- ต้องใช้โปรแกรมเต็มรูปแบบไม่ใช่เพียงแค่ฟังก์ชั่นหรือตัวอย่างเท่านั้น
- ผู้ใช้คนเดียวกันไม่สามารถเขียนคำตอบสองคำตอบติดต่อกัน
- หากคำตอบของใครบางคนละเมิดกฎแสดงความคิดเห็น หากความผิดพลาดไม่ได้รับการแก้ไขภายใน 30 นาทีควรลบทิ้ง
ตัวอย่างภาษาที่ใช้
นี่คือตัวอย่างข้อมูลย่อยที่สร้างโดย ETHproductions, FryAmTheEggman และ Mauris ที่ติดตามคะแนนของผู้ใช้และภาษาที่ใช้ มันได้รับการคัดลอกพื้นเพมาจากแม่แบบที่น่าตื่นตาตื่นใจมาร์ตินBüttnerของ
กระดานแต้มนำดั้งเดิม:
ใหม่ (รุ่นทดลอง) โดยใช้สูตรดัดแปลง:
เพื่อให้แน่ใจว่าข้อมูลโค้ดของคุณเป็นที่รู้จักโปรดใช้เทมเพลตส่วนหัวต่อไปนี้:
# Language, X characters added