การเขียนโปรแกรมปริศนา & รหัสกอล์ฟ

คำถาม & คำตอบสำหรับผู้ชื่นชอบการเขียนโปรแกรมปริศนา

21
การทอผ้าบิตกอล์ฟ
หมายเหตุ: ในช่วงครึ่งแรกของความท้าทายนี้มาจากความท้าทายก่อนหน้านี้มาร์ตินพลิก, เห็นภาพบิตทอผ้า ความชั่วร้ายของการเขียนโปรแกรมภาษาลึกลับมีการดำเนินการที่น่าสนใจเกี่ยวกับค่าไบต์ซึ่งเรียกว่า "การทอผ้า" มันคือการเปลี่ยนรูปแบบของบิตที่แปดของไบต์ (ไม่สำคัญว่าเราจะเริ่มนับจากจุดสิ้นสุดเมื่อรูปแบบสมมาตร): บิต 0 ถูกย้ายไปที่บิต 2 บิต 1 ถูกย้ายไปที่บิต 0 บิตที่ 2 ถูกย้ายไปที่บิต 4 บิต 3 ถูกย้ายไปยังบิต 1 ย้ายบิต 4 ไปเป็นบิต 6 ย้ายบิต 5 ไปเป็นบิต 3 บิต 6 ถูกย้ายไปยังบิต 7 ย้ายบิต 7 ไปเป็นบิต 5 เพื่อความสะดวกนี่เป็นตัวแทนอีกสามประการของการเปลี่ยนแปลง เป็นวงจร: (02467531) เป็นแผนที่: 57361402 -> 76543210 -> 64725031 และเป็นรายการคู่ของแผนที่: [[0,2], …

9
ผลิตภัณฑ์ 7-Distinct-Prime ที่ใกล้เคียงที่สุด
(ผ่านการแชท ) รายการ OEIS A123321แสดงลำดับของตัวเลขที่เป็นผลคูณของเจ็ดช่วงเวลาที่แตกต่างกัน เพื่อความกระชับเราจะเรียกหมายเลข7DPนี้ ตัวเลขสองสามตัวแรกและตัวหารที่เกี่ยวข้องมีดังนี้: 510510 = 2 * 3 * 5 * 7 * 11 * 13 * 17 570570 = 2 * 3 * 5 * 7 * 11 * 13 * 19 690690 = 2 * 3 * 5 * 7 * 11 * 13 …

11
จำนวนสีเรียงลำดับตามเหตุการณ์ที่เกิดขึ้น
อันนี้ง่ายต่อการอธิบายและฉันแทบไม่อยากจะเชื่อว่านี่ไม่ได้เล่นกอล์ฟมาก่อน: สำหรับรูปภาพที่กำหนด (ภาษาของคุณรองรับรูปแบบใดก็ตาม) ให้ค้นหาสีที่เป็นเอกลักษณ์และแสดงรายการสี พิมพ์รหัสสีในรูปแบบ RGB ฐานสิบหกนั่นคือเครื่องหมายแฮช#ตามด้วย 2 หลักสำหรับ R, 2 หลักสำหรับ G และ 2 หลักสำหรับ B ( #xxxxxxโดยที่ x สามารถ 0-9, AF และ / หรือ af) รหัสฐานสิบหกจะต้องตามด้วยช่องว่างและจำนวนพิกเซลทศนิยมจากนั้นขึ้นบรรทัดใหม่ ( \nหรือ\r\n) รายการจะถูกจัดเรียงโดยนับจากมากไปน้อย (สีที่พบบ่อยที่สุดที่ด้านบน) หากมีเน็คไท (สองสีที่มีจำนวนเท่ากัน) ลำดับนั้นไม่สำคัญ ภาพจะไม่มีความโปร่งใสดังนั้นค่าอัลฟาจึงไม่สำคัญ ค่าอัลฟาอาจไม่ได้เป็นส่วนหนึ่งของการส่งออก ต้องรองรับขนาดภาพ 4000x3000 (ซึ่งอาจมีความหมายในการพิมพ์ข้อกำหนด) ภาพตัวอย่าง "10red 20blue 30black 40white": ผลลัพธ์ที่คาดหวัง: #FFFFFF 40 #000000 30 …

11
เวลาไบนารีคืออะไร
เวลาไบนารีคืออะไร ทุกคนรู้ว่าเวลาปกติคืออะไร มันขึ้นที่ด้านบนขวา (หรือที่ใดก็ตามที่คุณใส่ไว้) ของหน้าจอ แต่คำถามที่คนไม่ค่อยถามตัวเองคือ: เวลาไบนารีคืออะไร? เวลาไบนารี Binary Time (True Binary Time) ทำงานโดยการอ่านบิตที่สำคัญที่สุด (MSB) ของจำนวน หากตัวเลขนั้นเป็น0เวลาที่แสดงก่อนเที่ยง หากตัวเลขนั้นเป็น1เวลาที่แสดงคือหลังเที่ยง บิตถัดไปแบ่งครึ่งวันของบิตแรกที่แสดงเป็นครึ่งเท่ากันอีกสองครั้งคราวนี้ 6 ชั่วโมง บิตต่อไปนี้แบ่งออกเป็น 3 ชั่วโมง 90 นาทีถัดไปและอื่น ๆ เวลาเช่น12:00:00ที่ดูเหมือนว่ามันไม่ควรจะกลายเป็น1ที่มันดูเหมือนว่ามันควรจะไม่กลายเป็น ฉันสามารถเข้าใจระบบกำหนดเวลาที่แปลกประหลาดนี้ได้ดังนั้นฉันจึงต้องการโปรแกรมแปลงให้เป็นแบบนั้นสำหรับฉัน แต่เนื่องจากเลขฐานสองเป็น Base-2 และ 2 เป็นตัวเลขขนาดเล็กโปรแกรมของคุณจะต้องสั้นที่สุด ความต้องการ โปรแกรมของคุณควรใช้เวลา (เป็น 24 ชั่วโมง) ในฐานะที่เป็นอินพุทและเอาท์พุทหมายเลขเวลาไบนารีที่สอดคล้องกัน หมายเลขผลลัพธ์ควรมีความแม่นยำ 16 บิต (หมายเลขควรมีความยาว 16 หลัก) คุณไม่สามารถใช้ builtin ที่ทำหน้าที่แปลงให้คุณทั้งหมด คุณควรปูพื้นถ้ามันจะต้องถูกปัดเศษ …

9
คำนวณแฮช CRC32
เครดิต ความท้าทายนี้มาจาก@miles สร้างฟังก์ชันที่คำนวณแฮช CRC32 ของสตริงอินพุต อินพุตจะเป็นสตริง ASCII ของความยาวใด ๆ เอาต์พุตจะเป็นแฮช CRC32 ของสตริงอินพุตนั้น คำอธิบาย อัลกอริทึมของ CRC32 และ CRC อื่น ๆ นั้นมีความเหมือนกันดังนั้น CRC3 เท่านั้นที่จะแสดงที่นี่ ก่อนอื่นคุณมีพหุนามกำเนิดซึ่งจริงแล้วเป็นจำนวนเต็ม 4 บิต [n + 1] (จะเป็น 33 บิตใน CRC32) 1101ในตัวอย่างนี้พหุนามกำเนิดคือ 00010010111100101011001101จากนั้นคุณจะมีสตริงที่จะถกกันซึ่งในตัวอย่างนี้จะเป็น 00010010111100101011001101|000 (1) append three [n] "0"s 1101 (2) align with highest bit 00001000111100101011001101|000 (3) XOR (1) …

16
กลุ่มที่เล็กที่สุดในอาเรย์
บทนำ ลองสังเกตอาร์เรย์ต่อไปนี้: [1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1] กลุ่มประกอบด้วยตัวเลขเดียวกันติดกัน ในอาร์เรย์ด้านบนมี 5 กลุ่มที่แตกต่างกัน: [1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1] 1, 1, 1 2, 2 1, 1, 1, 1 2, 2, 2 1, 1, …

16
สตริงย่อยที่ไม่ซ้ำกันสั้นที่สุด
รับ (บน STDIN เป็นอาร์กิวเมนต์บรรทัดคำสั่งหรือเป็นอาร์กิวเมนต์ฟังก์ชัน) สองสตริงที่ไม่ว่างที่แตกต่างกันค้นหาและส่งกลับสตริงย่อยสั้นที่สุดของสตริงแรกซึ่งไม่ได้เป็นสตริงย่อยของที่สอง หากไม่มีซับสตริงดังกล่าวอยู่คุณสามารถส่งคืนสตริงว่างส่งคืนสตริงใด ๆ ที่ไม่ใช่สตริงย่อยของสตริงต้นฉบับหรือส่งข้อยกเว้น หากคุณกลับมาจากฟังก์ชั่นคุณอาจคืนค่าเป็นโมฆะ (หรือไม่ได้กำหนดไม่มี ฯลฯ ) ในกรณีนี้ หากมีการเชื่อมโยงสตริงย่อยหลายรายการในระยะเวลาอันสั้นคุณสามารถส่งคืนค่าใดก็ได้ สตริงสามารถประกอบด้วยอักขระ ASCII ที่พิมพ์ได้ อินพุตที่กำหนดบน STDIN จะถูกกำหนดด้วยหนึ่งสตริงในแต่ละบรรทัด ตามคำขอของคุณอาจเพิ่มบรรทัดว่างหนึ่งบรรทัดที่ส่วนท้ายของอินพุต นี่คือรหัสกอล์ฟดังนั้นโปรแกรมที่ถูกต้องที่สุดจะเป็นผู้ชนะ บางกรณีทดสอบ INPUT: STRING ONE STRING TWO เอาท์พุท: E INPUT: A&&C A&$C ผลลัพธ์ที่ถูกต้อง: && &C INPUT: (สตริง 80 ตัวอักษรสองตัวที่สร้างแบบสุ่ม) QIJYXPYWIWESWBRFWUHEERVQFJROYIXNKPKVDDFFZBUNBRZVUEYKLURBJCZJYMINCZNQEYKRADRYSWMH HAXUDFLYFSLABUCXUWNHPSGQUXMQUIQYRWVIXGNKJGYUTWMLLPRIZDRLFXWKXOBOOEFESKNCUIFHNLFE ผลลัพธ์ที่ถูกต้องทั้งหมด: AD BJ BR CZ DD EE ER …
14 code-golf  string 

6
ตัวเลข ASCII Art ของชาวมายัน
ความท้าทายนี้ง่ายมาก กำหนดตัวเลขให้ส่งออกการแทนค่า ASCII-art ของตัวเลขโดยใช้ระบบตัวเลขฐานมายา 20 ระบบมายาคืออะไร Mayans ใช้ฐาน 20 เพื่อเก็บตัวเลขดังนั้นตำแหน่งแรกคือตำแหน่ง1ของสถานที่ถัดไป20จากนั้นตามด้วย400s เป็นต้น ดังนั้นตัวเลขของชาวมายัน1อยู่1ในฐาน 10 แต่10จริง ๆ แล้ว20อยู่ในฐาน 10 207อยู่807ในฐาน 10 เป็นต้น 0และพวกเขาเป็นตัวแทนของตัวเลขของพวกเขาเป็นสัญลักษณ์ที่มีสัญลักษณ์พิเศษ ------------------- | | | | | | | | | | |-------------------| | | | | ------------------- นั่นคือศูนย์ของพวกเขา (อย่างน้อยครึ่ง Picascii ครึ่งอาร์ทีเอของฉันอาร์ตเนสอาร์ต) นั่นคือภาพที่แท้จริงของสัญลักษณ์มายันศูนย์ 1 นี่คือห้า: -------------------------------- | | -------------------------------- และ …

4
การสลับแรงโน้มถ่วง
ท้าทาย คุณได้รับการนำเสนอ ASCII-art ของตัวละครบนเครื่องบินเป็นวิธีป้อนข้อมูลด้วยวิธีการที่สมเหตุสมผล สิ่งนี้จะมี: [a-z]แสดงถึงอักขระที่เคลื่อนย้ายได้ จดหมายทุกฉบับจะปรากฏบนกระดานไม่เกินหนึ่งครั้ง # แสดงถึงกำแพงอสังหาริมทรัพย์ . แทนพื้นที่ว่าง ตัวอย่างเช่น: abcdef.gh#.. .......ij.#. #..#.......# ...#.#...### .#.......#q# .........### คุณจะได้รับสายอักขระที่แสดงถึงการเปลี่ยนแปลงของแรงโน้มถ่วง สิ่งนี้จะมี: > เป็นตัวแทนของการเปลี่ยนแปลงแรงโน้มถ่วงไปทางขวา < แสดงถึงการเปลี่ยนแปลงของแรงโน้มถ่วงทางซ้าย ^ แสดงถึงการเปลี่ยนแปลงของแรงโน้มถ่วงขาขึ้น v เป็นตัวแทนของการเปลี่ยนแปลงแรงโน้มถ่วงลดลง ตัวอย่างเช่น: v>^ โปรแกรมของคุณจะต้องจำลองการเปลี่ยนแปลงของแรงโน้มถ่วงตามลำดับจนกว่าตัวละครทุกตัวจะหยุดเคลื่อนไหว (พวกมันชนกำแพงหรือตัวละครอื่น) อักขระที่ "หลุดออกจากขอบแผนที่" จะถูกลบออกอย่างถาวรและอักขระสามารถ "ซ้อน" ที่ด้านบนของกันและกัน ในตัวอย่างนี้ที่เริ่มต้นมีแรงโน้มถ่วงลง ( v) เพื่อc, e, g, h, iและjตกออกจากด้านล่างของแผนที่ ตัวละครอื่น ๆ ทั้งหมดเลื่อนลงมาจนชนกำแพงจากแผนที่ดังนี้: .........#.. a..d......#. …
14 code-golf 

3
สร้างแผนภูมิวงกลม
ความท้าทายนั้นง่าย: สร้างแผนภูมิวงกลมตามจำนวนค่าอินพุต อินพุตจะเป็นรายการของตัวเลขบวกทศนิยมหรือจำนวนเต็มและเอาต์พุตจะเป็นแผนภูมิวงกลมซึ่งแต่ละค่าอินพุตจะแสดงด้วยสีแยกต่างหากและค่าเปอร์เซ็นต์นอกแต่ละพื้นที่ กฎ: สีต้องมีความแตกต่างทางสายตา (สีที่แน่นอนเป็นตัวเลือก) จะมีอย่างน้อยสองค่าสูงสุด 10 ค่า รัศมีของวงกลมจะต้องอยู่ในช่วง[100 300]พิกเซล กราฟิกแบบเวกเตอร์นั้นใช้ได้ตราบเท่าที่เอาต์พุตเริ่มต้นให้รัศมีของ[100, 300]พิกเซล ค่าร้อยละจะต้องเป็นจำนวนเต็ม ไม่มีกฎเกณฑ์ที่เข้มงวดที่จะบอกว่าจะต้องใส่ค่าเปอร์เซ็นต์ไว้อย่างไร แต่จะต้องเห็นได้ง่ายว่าเป็นพื้นที่ใด ระยะห่างระหว่างตัวละครที่ใกล้เคียงที่สุดกับขอบด้านนอกของวงกลมจะต้องอยู่ในช่วง[5, 40]พิกเซล แบบอักษรเป็นตัวเลือก พล็อตอาจมีหรือไม่มีเส้นสีดำคั่นแต่ละภูมิภาค ฟังก์ชันที่สร้างขึ้นสำหรับการสร้างแผนภูมิวงกลมเช่น MATLAB:, piePython: matplotlib.pyplot.pieและ Mathematica: PieChartไม่ได้รับอนุญาต กฎการปัดเศษแบบปกติ (ขึ้นถ้า(1.00, 0.5]ลงถ้าเป็น(0.5, 0.00)) ถ้าค่าร้อยละของชิ้นมีขนาดเล็กกว่าเอาท์พุท0.5% 0%ชิ้นจะต้องรวมอยู่ในพล็อต โปรดระบุแผนการตรวจสอบ (หรือลิงก์ไปยังล่าม) ก็เพียงพอที่จะแสดงเฉพาะพล็อตที่มี 10 ค่าอินพุต (เพื่อหลีกเลี่ยงคำตอบที่ยาวมาก) ตัวอย่าง โปรดใช้ค่าตัวอย่างด้านล่าง คุณสามารถแปลงรายการไปยังรูปแบบที่เหมาะสมโดยใช้แปลงรายการที่เป็นตัวเลขเช่นนี้27 ไบต์หนึ่งโดยjimmy23013 x = [0.3, 1.2] x = [3, 6, …

3
แสดงหมายเลขได้อย่างรวดเร็วด้วยการดำเนินการเพียงแค่ 0-9 และสี่อย่างรวมทั้งอีกอย่างหนึ่งที่เพิ่มขึ้น
คำอธิบาย Befungeเป็นโปรแกรมที่สองมิติที่ใช้สแต็ค นั่นหมายความว่าในการทำ 5 + 6 คุณเขียน56+ความหมาย: 56+ 5 push 5 into stack 6 push 6 into stack + pop the first two items in the stack and add them up, and push the result into stack (to those of you who do not know stacks, "push" just means add …

7
วาดเศษส่วนที่จัดทำดัชนี
บทนำ ในการท้าทายนี้เมทริกซ์ 2 × 2 จะถูกจัดทำดัชนีดังนี้: 0 1 2 3 เรากำหนดครอบครัวของเศษส่วนเหมือนรูปแบบF(L)ที่Lเป็น length- nรายการของดัชนีเหล่านี้และมีขนาดF(L)2n-1 × 2n-1 หากL == []แล้วคือรูปแบบที่F(L) 1 × 1# ถ้าเป็นเช่นL != []นั้นF(L)จะสร้างขึ้นดังนี้ อนุญาตPเป็นรูปแบบที่ได้รับจากการLลบองค์ประกอบแรก เวลาสี่กริดขนาดเต็มไปด้วยระยะเวลาและแทนที่ตารางดัชนีโดยมีรูปแบบ จากนั้นกาวกริดเข้าด้วยกันโดยใช้หนึ่งชั้นของแฮชระหว่างพวกเขา นี่คือไดอะแกรมสำหรับสี่กรณี:2n-1-1 × 2n-1-1.L[0]P# L[0]==0 L[0]==1 L[0]==2 L[0]==3 #... ...# ...#... ...#... [P]#... ...#[P] ...#... ...#... #... ...# ...#... ...#... ####### ####### ####### ####### …

6
แทรก semi-sort ลงในอาร์เรย์ที่ไม่เรียงลำดับ
ยินดีต้อนรับสู่วันแรกของคุณที่ PPCG Inc. ในฐานะผู้ช่วยตัวเรียงลำดับเอกสารรุ่นใหม่ล่าสุดของเราคุณมีหน้าที่ตรวจสอบให้แน่ใจว่าเอกสารทั้งหมดที่เราส่งถึงคุณถูกเก็บถาวรตามลำดับตัวอักษร มันง่ายมากที่ลิงสามารถทำได้ พูดเปรียบเทียบเชิงเปรียบเทียบในขณะที่เราจ้างลิงเพื่อทำมัน คาดเดาอะไร ปรากฎว่าลิงขาดความเข้าใจในตัวอักษรของเรา อย่างไรก็ตามไม่มีเวลาที่จะแก้ไขความยุ่งเหยิงที่มีอยู่ในขณะนี้ดังนั้นเพียงแค่พยายามไม่ทำให้สถานการณ์แย่ลงโอเคไหม จากนั้นไปที่มัน! ถ้าคุณหิวก็จะมีกล้วยอยู่ข้างๆเครื่องทำน้ำเย็น โชคดี! รายละเอียดงาน อินพุต คุณจะได้รับรายการของสตริง (ไฟล์เก็บถาวร) และสตริงที่ต้องเพิ่มลงในรายการนั้น (เอกสาร) สตริงทั้งหมดจะมีตัวอักษรตัวพิมพ์ใหญ่ตัวอักษรตัวพิมพ์เล็กและช่องว่าง เงื่อนไขจะเริ่มต้นและสิ้นสุดด้วยตัวอักษรเสมอ งาน กำหนดตำแหน่งเป้าหมายของเอกสาร: ตำแหน่งที่ควรได้รับในไฟล์เก็บถาวร ตำแหน่งเป้าหมายสามารถกำหนดได้ดังนี้: สำหรับแต่ละตำแหน่ง: นับจำนวนสตริงในไฟล์เก็บถาวรก่อนตำแหน่งที่เป็นตัวอักษรก่อนหน้าเอกสาร นับจำนวนสตริงในไฟล์เก็บถาวรหลังจากตำแหน่งนั้นเรียงตามตัวอักษรหลังเอกสาร กำหนดคะแนนของตำแหน่งเป็นผลรวมของทั้งสองข้างต้นนับ ตำแหน่งเป้าหมายของเอกสารคือตำแหน่งที่มีคะแนนสูงสุด ในกรณีที่เสมอกันตำแหน่งทั้งหมดที่มีคะแนนสูงสุดจะมีผลเหมือนกันกับตำแหน่งเป้าหมาย ต้องเลือกหนึ่งรายการเท่านั้น เมื่อเรียงลำดับ: ตัวพิมพ์ใหญ่และตัวพิมพ์เล็กจะเทียบเท่ากัน ช่องว่างมาก่อนตัวอักษร เอาท์พุต การเก็บถาวรพร้อมเอกสารที่เพิ่มเข้าไปในรูปแบบใด หรือ ตำแหน่งเป้าหมายของเอกสารในดัชนีที่ใช้ 0 หรือ 1 ตาม การประเมินผลงาน ไบต์ที่น้อยที่สุดจะชนะ! ตัวอย่าง I / O Archive: Applebuck …

5
ระบุชุดจุดที่พึงพอใจใน Arborally
ชุดจุดพอใจ arborallyเป็นชุด 2D ของจุดดังกล่าวว่าสำหรับรูปสี่เหลี่ยมผืนผ้าแกนชิดใด ๆ ที่สามารถเกิดขึ้นโดยใช้สองจุดในชุดที่เป็นมุมตรงข้ามสี่เหลี่ยมที่มีหรือสัมผัสอย่างน้อยหนึ่งจุดอื่น ๆ นี่คือคำจำกัดความที่เทียบเท่าจาก Wikipedia: จุดที่ตั้งไว้ว่ามีความพึงพอใจใน Arborally ถ้าทรัพย์สินดังต่อไปนี้: สำหรับคู่ใด ๆ ที่ไม่ได้อยู่บนเส้นแนวนอนหรือแนวตั้งเดียวกันมีจุดที่สามซึ่งอยู่ในรูปสี่เหลี่ยมผืนผ้าทอดสองจุดแรก ( ภายในหรือบนขอบเขต) ภาพต่อไปนี้แสดงให้เห็นถึงวิธีการสร้างรูปสี่เหลี่ยมผืนผ้า ชุดจุดนี้ไม่ได้รับความพึงพอใจจาก Arborally เนื่องจากสี่เหลี่ยมผืนผ้านี้ต้องมีจุดอย่างน้อยหนึ่งจุด ใน ASCII art ชุดจุดนี้สามารถแสดงเป็น: ...... ....O. ...... .O.... ...... การปรับเปลี่ยนเล็กน้อยสามารถทำให้สิ่งนี้น่าพึงพอใจทาง Arborally: ...... ....O. ...... .O..O. ...... ด้านบนคุณจะเห็นว่ารูปสี่เหลี่ยมผืนผ้าทั้งหมด (ซึ่งมีเพียงหนึ่งรูป) มีจุดอย่างน้อยสามจุด นี่คืออีกตัวอย่างหนึ่งของชุดจุดที่ซับซ้อนมากขึ้นซึ่งเป็นที่พอใจของ Arborally: สำหรับสี่เหลี่ยมใด ๆ ที่สามารถวาดซึ่งประกอบไปด้วยสองจุดสี่เหลี่ยมนั้นจะมีจุดอื่นอย่างน้อยหนึ่งจุด ความท้าทาย กำหนดตารางสี่เหลี่ยมของจุด (ซึ่งผมแทนด้วยO) และพื้นที่ว่างเปล่า (ซึ่งผมแทนด้วย.) …

2
ทำ Parser งู!
งูมีลักษณะเช่นนี้: >>>v @ ^ v ^ >>>^ v ^ v ^<<<<<<<<< งูสามารถข้ามตัวมันเองได้ในกรณีนี้: @ ^ >^>v ^<< เพื่อให้ครอสโอเวอร์มีความถูกต้องตัวละครทั้งสองข้างจะต้องเคลื่อนที่ไปในทิศทางเดียวกัน กรณีของ @ >^v ^< อาจถือว่าไม่ชัดเจนและไม่ถูกต้อง เอาท์พุทเป็นสตริงของการWASDแสดงไปจากหัวถึงหาง ( @) ให้งูที่ไม่ได้ย้อนรอยและไม่คลุมเครือคุณสามารถเขียนโปรแกรมที่จะแสดงผลสายการเคลื่อนไหวที่งูใช้ นี่คือรหัสกอล์ฟคำตอบที่สั้นที่สุดชนะ! กรณีทดสอบ: (หมายเหตุ: @สามารถแทนที่ด้วยอักขระใด ๆ ที่ไม่ได้อยู่ในv^<>) การป้อนข้อมูล: >>>>v v v<< @ v ^ >>>>>^ เอาท์พุท: ddddssaassdddddww การป้อนข้อมูล: @>>v ^ v ^ v ^<<< เอาท์พุท: …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.