งานที่ได้รับมอบหมายของคุณคือการเขียนโปรแกรมที่มีความยาวเท่ากันซึ่งจะพิมพ์สี่เหลี่ยม ASCII-art (อธิบายไว้ด้านล่าง) ซึ่งจะเพิ่มความยาวด้านโดย1หน่วยในแต่ละครั้งที่มีการวางรหัสต้นฉบับลงตรงกลางของรหัสปัจจุบัน
มันค่อนข้างยากสำหรับฉันที่จะกำหนดงานนี้เป็นอย่างดีดังนั้นฉันจะให้ตัวอย่าง:
สมมติว่ารหัสเริ่มต้นของคุณคือ
CODE
และพิมพ์:0
จากนั้นแทรก
CODE
ตรงกลาง: รหัสของคุณจะกลายเป็นCOCODEDE
และควรพิมพ์:00 00
ใส่
CODE
รหัสตรงกลางอีกครั้ง: รหัสของคุณกลายเป็นCOCOCODEDEDE
และควรพิมพ์:000 000 000
และอื่น ๆ คำตอบของคุณควรทำงานตามหลักเหตุผลหลังจากทำซ้ำจำนวนเท่าใดก็ได้ แต่ฉันเข้าใจว่าเนื่องจากข้อ จำกัด ด้านประสิทธิภาพของภาษา
กฎบางอย่าง:
คุณสามารถใช้ASCII ที่พิมพ์ได้ (32-127) เป็นอักขระที่จะใช้สำหรับสี่เหลี่ยมจัตุรัสของคุณ ตัวเลือกของคุณจะต้องคงที่ (คุณควรใช้อักขระเดียวกันสำหรับการทำซ้ำแต่ละครั้ง)
ตารางการส่งออกเริ่มต้นต้องมีด้านยาวด้านละ1
ตาราง ascii-art ถูกกำหนดเป็นสตริงที่มีNบรรทัด (คั่นด้วยN-1 linefeeds / ขึ้นบรรทัดใหม่) และแต่ละบรรทัดมีNสำเนาของอักขระที่เลือก
การส่งออกของคุณไม่ได้รับอนุญาตให้มีช่องว่างที่ไม่เกี่ยวข้องใด ๆ นอกเหนือจากการขึ้นบรรทัดใหม่
คุณสามารถใช้ค่าเริ่มต้นสำหรับอินพุตและเอาต์พุต (อนุญาตให้โปรแกรมหรือฟังก์ชั่น แต่ตัวอย่างไม่ได้)
กลางของรหัสของคุณถูกกำหนดให้เป็นจุดที่รหัสที่มาสามารถแบ่งออกเป็นสองส่วนดังกล่าวว่าทั้งสองมีค่าเท่ากัน
คำตอบของคุณจะได้รับคะแนนตามความยาวของโปรแกรมต้นฉบับของคุณเป็นไบต์ จำนวนไบต์ต่ำสุดชนะ ในกรณีที่มีเน็คไทคำตอบที่ถูกส่งไปก่อนหน้านี้ชนะ
คุณสามารถใช้โปรแกรมนี้เพื่อใช้การแทรกโดยไม่ต้องทำด้วยมือ