ดูที่สตริงต่อไปนี้ สังเกตรูปแบบหรือไม่
ABEFNOPEFGH DC GQI MHRJ LKJI SK DTL CUM BAZYXWV N EO DP CQ BAZYXWVUTSR
บางคนอาจสังเกตเห็นว่ามันเป็นเกลียวของตัวอักษรโดยที่ระยะทางระหว่างแถว / คอลัมน์ค่อยๆเพิ่มขึ้น 1 ช่องว่าง / บรรทัดใหม่
คำจำกัดความที่เข้มงวด
- ลองมีตัวนับcซึ่งเริ่มเป็น 0
- เราเขียนออกมาเป็นครั้งแรกC + 1
A
ตัวอักษรของตัวอักษรจากซ้ายไปขวา: จากนั้นจากบนลงล่างต่อไป(C + 1) (C + 2) / 2ตัวอักษร (เพิ่ม):
B
AB
จากซ้ายไปขวาถัดไป(c + 1) (c + 2) / 2 (เพิ่ม
C
):AB C
และจากล่างขึ้นบนจะใช้ตัวอักษรc + 1ถัดไป(เพิ่ม
D
):AB DC
ถึงจุดสิ้นสุดของรอบ ดังนั้นขอเพิ่มc (ซึ่งกลายเป็น 1) จากนั้นก็เริ่มจากขั้นตอนแรกความแตกต่างเพียงอย่างเดียวคือแทนที่จะใช้ตัวอักษรc + 1ตัวแรกเราใช้ตัวอักษรc + 1ตัวถัดไปโดยเริ่มจากองค์ประกอบสุดท้ายของวงจรนี้ (
D
ในกรณีนี้ ดังนั้นเราจึงดำเนินการต่อEFG...
) เมื่อถึงรอบมันกลับมาจากZ
A
งาน
รับจำนวนเต็มN (ซึ่งเป็นค่าบวกสำหรับการจัดทำดัชนี 1 หรือไม่เป็นลบสำหรับการจัดทำดัชนี 0) ให้ส่งออกรอบแรกNของเกลียว
กฎระเบียบ
คุณสามารถใช้ตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่ แต่ตัวเลือกของคุณจะต้องสอดคล้องกัน (ใช้เพียงหนึ่งตัวเท่านั้นไม่อนุญาตให้ใช้การผสม)
คุณสามารถรับอินพุตและให้เอาต์พุตผ่านวิธีการมาตรฐานใดๆ ในภาษาการเขียนโปรแกรมใด ๆในขณะที่สังเกตว่าช่องโหว่เหล่านี้ถูกห้ามใช้โดยปริยาย
รูปแบบเอาต์พุตที่ยอมรับได้: สตริงหลายรายการของสตริงที่แทนบรรทัดรายการที่มีรายการอักขระหลายรายการแต่ละรายการแทนหนึ่งบรรทัดหรืออะไรก็ได้ที่คุณเห็นว่าเหมาะสม ในกรณีที่คุณไม่ได้เลือกรูปแบบแรกควรรวมรหัสของคุณในรูปแบบที่สวยงาม
นี่คือcode-golfดังนั้นโค้ดที่สั้นที่สุดเป็นไบต์ (ในแต่ละภาษา) ซึ่งเป็นไปตามข้อกำหนดที่ชนะ!
กรณีทดสอบ
จำนวนเต็มอินพุทจะถูกคั่นด้วยเอาต์พุตที่สอดคล้องกันผ่านบรรทัดใหม่และการทดสอบจะถูกคั่นด้วยเครื่องหมายขีดกลาง โปรดทราบว่าสิ่งเหล่านี้มีการจัดทำดัชนี 1
1 AB กระแสตรง -------- 2 ABEF DC G MH LKJI -------- 3 ABEFNOP DC GQ MHR LKJI DT จุฬาฯ BAZYXWV ------- 4 ABEFNOPEFGH DC GQI MHRJ LKJI SK DTL CUM BAZYXWV N EO DP CQ BAZYXWVUTSR ------- 5 ABEFNOPEFGHFGHIJ DC GQIK MHRJL LKJI SKM DTLN CUMO BAZYXWV NP EOQ DPR CQS BAZYXWVUTSR T RU QV PW วัว NMLKJIHGFEDCBAZY ------ 6 ABEFNOPEFGHFGHIJSTUVWX DC GQIKY MHRJLZ LKJI SKMA DTLNB CUMOC BAZYXWV NPD EOQE DPRF CQSG BAZYXWVUTSR TH RUI QVJ PWK OXL NMLKJIHGFEDCBAZY M SN RO QP PQ หรือ NMLKJIHGFEDCBAZYXWVUTS