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

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

2
ทำคะแนนเกม Kingdom Builder
ฉันต้องการลองโค้ดกอล์ฟรูปแบบใหม่ที่นี่ คล้ายกับโบนัสไม่ใช่ทุกส่วนของการท้าทายที่จะต้องทำให้เสร็จ แต่คำตอบแต่ละข้อจะต้องใช้ส่วนย่อยที่มีขนาดที่แน่นอน ดังนั้นนอกเหนือจากการตีกอล์ฟความท้าทายนี้ยังเกี่ยวข้องกับการเลือกชุดคุณลักษณะที่เข้ากันได้ดี กฎระเบียบ Kingdom Builderเป็นเกมกระดานที่เล่นบนกริด hex (จุดสูงสุด) กระดานประกอบด้วยสี่ส่วน (แบบสุ่ม) ซึ่งแต่ละกลุ่มมีเซลล์ Hex10 เท่า 10x10 (ดังนั้นกระดานเต็มจะเป็น 20x20) สำหรับจุดประสงค์ของการท้าทายนี้แต่ละเซลล์ฐานสิบหกมีทั้งน้ำ ( W), ภูเขา ( M) เมือง ( T), ปราสาท ( C) หรือว่างเปล่า ( .) ดังนั้นจตุภาคอาจดูเหมือน . . W . . . . . . . . M W W . . . …

17
ค้นหาสตริงย่อยที่มีค่ามากที่สุด 1 ลำดับ
บทนำ ฉันต้องการที่จะหาย่อยที่มีมากที่สุด1's ในลำดับของ0' และ1's อินพุต โปรแกรมของคุณมีสองอินพุตลำดับและความยาวซับสตริง ลำดับคือจำนวนใด ๆ0'และ1' s: 01001010101101111011101001010100010101101010101010101101101010010110110110 ยาว substringเป็นที่ไม่ใช่ศูนย์จำนวนเต็มบวกใด ๆ 5 เอาท์พุต โปรแกรมของคุณควรส่งออกดัชนีเริ่มต้นของ substring แรกของการกำหนดความยาวที่มีมากที่สุด1's ด้วยอินพุตข้างต้นผลลัพธ์คือ: 10 0ตัวอักษรตัวแรกในสตริงเริ่มต้นที่ดัชนีของ เกณฑ์การให้คะแนน รหัสที่สั้นที่สุดชนะ! กฎระเบียบ โปรแกรมของคุณจะต้องส่งออกดัชนีที่ถูกต้องสำหรับอินพุตที่ถูกต้องใด ๆ คุณสามารถเลือกวิธีการอินพุต / เอาต์พุตของคุณจากคำตอบใด ๆ ที่มีคะแนนบวกเกี่ยวกับตัวเลือกเริ่มต้น โปรดระบุวิธีการที่คุณเลือกในคำตอบของคุณ

5
เล่น Nim ของ Wythoff อย่างสมบูรณ์แบบ
เป้าหมายของคุณคือการเขียนเป็นผู้เล่นที่สมบูรณ์แบบสำหรับการเล่นเกมของWythoff ของสะเดา กฎของ NIM ของ Wythoff Wythoff's Nim เป็นเกมที่มีผู้เล่นสองคนที่เล่นกับกองที่เหมือนกันสองกอง ผู้เล่นผลัดกันซึ่งพวกเขาทำอย่างใดอย่างหนึ่งเหล่านี้ ลบหนึ่งเคาน์เตอร์ขึ้นไปจากกองแรก ลบหนึ่งเคาน์เตอร์ขึ้นไปจากกองที่สอง ลบจำนวนตัวนับเท่ากัน (อย่างน้อยหนึ่งตัว) จากทั้งกองแรกและกองที่สอง แน่นอนว่ากองไม่สามารถติดลบได้ แต่พวกเขาสามารถทำได้ถึง 0 ผู้เล่นใดก็ตามที่นับคะแนนสุดท้ายโดยรวมชนะเกม สำหรับความคิดเชิงเรขาคณิตที่มากขึ้นนี่คือสูตรที่เทียบเท่าของเกมที่คุณสามารถเล่นบนแอปเพล็ตนี้ ราชินีเดี่ยวเริ่มต้นบนกระดานหมากรุกที่ไม่มีที่สิ้นสุดของสี่เหลี่ยมจัตุรัสซึ่งมีมุมอยู่ทางซ้ายล่าง ผู้เล่นเลือกที่จะย้ายราชินีซึ่งเคลื่อนไหวเหมือนราชินีหมากรุก แต่ถูก จำกัด ไว้ที่สามทิศทาง: ลง ซ้าย ทแยงมุมลงและซ้าย ใครก็ตามที่ย้ายราชินีไปยังมุมที่ชนะ เชื่อมโยงพิกัดของราชินี (กับมุม(0,0)) กับขนาดของเสาเข็มที่เกี่ยวข้องมันเป็นเรื่องง่ายที่จะเห็นทั้งสองเกมเหมือนกัน การเล่นที่สมบูรณ์แบบ (คุณสามารถข้ามสิ่งนี้ได้หากคุ้นเคยกับแนวคิดของการเล่นที่สมบูรณ์แบบและการเคลื่อนไหวที่ชนะ) ตั้งแต่ Wythoff ของสะเดาเป็นเกมที่ จำกัด และกำหนดก็มีความคิดของการเล่นที่สมบูรณ์แบบ ผู้เล่นที่สมบูรณ์แบบคือกลยุทธ์ที่มักจะชนะจากตำแหน่งที่ชนะในทางทฤษฎีซึ่งหมายถึงตำแหน่งที่มีกลยุทธ์ที่รับประกันการชนะ เพื่อเป็นกลยุทธ์ในการชนะมันพอเพียงที่จะย้ายไปยังตำแหน่งที่ชนะตามทฤษฎีสำหรับผู้เล่นที่เพิ่งย้ายไปและทำให้ผู้เล่นไม่ไปต่อไป ครั้งแรกของตำแหน่งชนะเลิศเหล่านี้ (หรือที่เรียกว่าตำแหน่งเย็น ) (0,0), (1,2), (2,1), (3,5), (5,3)เป็น ดูบทความวิกิพีเดียสำหรับคำอธิบายเกี่ยวกับอัลกอริทึมเพื่อค้นหากลยุทธ์การชนะสำหรับนิมของ …

2
ช่วงเวลาที่ดีในการปฏิเสธ
การตั้งค่า สมมติว่าคุณได้รับฟิวส์nด้วย 1 ≤ n ≤ 5 ซึ่งแต่ละอันมีความยาวเมตรและที่ฟิวส์แต่ละอันมีอัตราการเผาไหม้ที่เกี่ยวข้องNเมตรต่อDชั่วโมง ฟิวส์สามารถติดไฟที่ปลายด้านหนึ่งหรือทั้งสองด้านจากนั้นดับที่ปลายด้านหนึ่งหรือทั้งสองข้าง relit, re-extinguished และอื่น ๆ หลาย ๆ ครั้งตามต้องการจนกว่าฟิวส์จะถูกใช้จนหมด คุณสามารถจุดไฟและดับฟิวส์ได้ทันทีและคุณสามารถสังเกตได้ทันทีว่าฟิวส์ถูกใช้หมดแล้ว (ไหม้) ฟิวส์ไม่สามารถตัดและไม่สามารถติดที่ใดก็ได้ยกเว้นที่ปลาย การตั้งค่าดังกล่าวช่วยให้ระบบจับเวลามีความแม่นยำอย่างไม่สิ้นสุดโดยการวัดเวลาระหว่างเหตุการณ์ไฟ / การใช้ฟิวส์สองครั้ง ตัวอย่างเช่นเมื่อได้รับฟิวส์สองครั้งที่มีอัตราการเผาไหม้ 1 เมตรต่อชั่วโมงคุณสามารถวัดได้ 45 นาที (3/4 ชั่วโมง) พร้อมกัน: ส่องฟิวส์แรกที่ปลายทั้งสองข้างส่องไฟฟิวส์ที่สองที่ปลายด้านหนึ่งและทำเครื่องหมายจุดเริ่มต้นของช่วงเวลาของคุณ จุดไฟที่สองของฟิวส์ที่สองในทันทีที่ฟิวส์แรกถูกใช้ (30 นาทีต่อมา) ทำเครื่องหมายจุดสิ้นสุดของช่วงเวลาของคุณในทันทีที่มีการใช้ฟิวส์ตัวที่สอง (15 นาทีต่อมา) ความท้าทาย กำหนดจำนวนเศษส่วนของเวลาtและชุดของเศษส่วนnแทนอัตราการเผาไหม้ที่แน่นอนของฟิวส์nเขียนโปรแกรมหรือฟังก์ชันที่เอาต์พุต / ส่งกลับค่าความจริงถ้าtชั่วโมงสามารถวัดได้อย่างแม่นยำผ่านการเผาระบบของฟิวส์หรือ ค่าที่ผิดพลาดเป็นอย่างอื่น อินพุตไปยังโปรแกรมสามารถเป็นดังต่อไปนี้: อาร์กิวเมนต์บรรทัดคำสั่งของฟอร์ม TN/TD N1/D1 N2/D2 N3/D3 ... สตริงของแบบฟอร์มTN/TD …

14
รูปลักษณ์และการพูด: Conway มาเยือน
คุณควรคุ้นเคยกับลำดับ Conway (หรือที่รู้จักกันว่า 'look-and-say'-sequence)โดยตอนนี้: 1 11 21 1211 111221 312211 etc นอกจากนี้คุณยังสามารถเริ่มต้นด้วยหมายเลขโดยพลการใด ๆ เป็นจุดเริ่มต้น อนุญาตf(s)เป็นองค์ประกอบถัดไปของลำดับ ตอนนี้สำหรับทุกคนให้สิทธิ์แก่เราสามารถหาs f(s)กลับไม่เป็นที่น่ารำคาญ: มันไม่ได้สำหรับทุกคนyที่เป็นไปได้ที่จะหาบรรพบุรุษดังกล่าวว่าs f(s) = yเช่นสำหรับy = 1เราไม่สามารถหาบรรพบุรุษ แต่ถ้าyมีแม้แต่ความยาวคุณสามารถแบ่งออกเป็นคู่ของตัวเลขซึ่งอธิบายแต่ละส่วนหนึ่งของบรรพบุรุษ: 513211 divides in 51,32,11 so: 51 comes from 11111 32 comes from 222 11 comes from 1 put together: 111112221 ด้วยวิธีนี้เราสามารถกำหนดบรรพบุรุษที่ไม่ซ้ำกันสำหรับทุกyความยาว หมายเหตุ : ใน 'รุ่นก่อน' กำหนดวิธีนี้ไม่ทั่วไปไม่ตอบสนองsf(s) …
16 code-golf 

10
เลิกทำการรากที่สอง
งานของคุณคือแปลงทศนิยมให้เป็นผลรวมของสแควร์รูทของจำนวนเต็ม ผลลัพธ์จะต้องมีความถูกต้องของตัวเลขทศนิยมอย่างน้อย 6 หลัก อินพุต : ตัวเลขที่ระบุจำนวนของรากที่สองและทศนิยมที่แสดงถึงจำนวนโดยประมาณ อินพุตตัวอย่าง: 2 3.414213562373095 เอาท์พุท : จำนวนเต็มคั่นด้วยช่องว่างที่เมื่อสแควร์รูทและเพิ่มจะประมาณทศนิยมเดิมที่ถูกต้องเป็นอย่างน้อย 6 หลักทศนิยมที่สำคัญ ไม่อนุญาตให้ใช้ค่าศูนย์ในการแก้ปัญหา หากมีหลายวิธีคุณจะต้องพิมพ์เพียงวิธีเดียว ตัวอย่างผลลัพธ์ (ในลำดับใด ๆ ): 4 2 Math.sqrt(4) + Math.sqrt(2) == 3.414213562373095งานนี้เพราะ นี่คือรหัสกอล์ฟ รหัสที่สั้นที่สุด (พร้อมโบนัสเสริม) ชนะ! จะมีวิธีแก้ปัญหาอยู่เสมอ แต่ -10 หากโปรแกรมของคุณพิมพ์ "ไม่" เมื่อไม่มีวิธีแก้ปัญหาด้วยจำนวนเต็ม นอกจากนี้ -10 หากโปรแกรมของคุณพิมพ์โซลูชั่นทั้งหมด (คั่นด้วยบรรทัดใหม่หรืออัฒภาคหรืออะไรก็ตาม) แทนที่จะเป็นเพียงหนึ่ง กรณีทดสอบ: 3 7.923668178593959 --> 6 7 8 …

1
รวบรวมภาษาอังกฤษสำหรับเจ้านายของคุณ
เจ้านายของคุณได้เรียนรู้เมื่อเร็ว ๆ นี้ของภาษาการเขียนโปรแกรมที่น่าสนใจนี้เรียกว่าภาษาอังกฤษ เขามีความคิด "ปฏิวัติ" นี้เขาต้องการเขียนโค้ดกับคุณเพื่อเพิ่มอัตราการผลิตรหัสสองเท่า! เนื่องจากเขาไม่ใช่ผู้เชี่ยวชาญด้านเทคโนโลยีเขาจึงต้องการให้คุณเขียนคอมไพเลอร์เพื่อให้เขาสามารถใช้รหัสได้เช่นกัน! ตอนนี้คุณเป็นโปรแกรมเมอร์ที่ขี้เกียจชั่วและเห็นได้ชัดว่าจะไม่เขียนโปรแกรมเพื่อรวบรวมภาษาที่ซับซ้อนอย่างน่าขันนี้ แต่คุณจะต้องทำให้แน่ใจว่ามีข้อผิดพลาดในรหัสของเจ้านายของคุณอยู่เสมอเพื่อให้เขาไม่เคยได้รับการคอมไพล์จริงและติดแก้ไขข้อผิดพลาดทางไวยากรณ์แทนการเข้ารหัส ความท้าทายคือการเขียนโปรแกรมที่สามารถเรียกใช้จากเทอร์มินัลและยอมรับเส้นทางของไฟล์เป็นอาร์กิวเมนต์ โปรแกรมจะต้อง: แก้ไขอินพุตไฟล์โดยแนะนำการพิมพ์ผิด แสดงว่าการรวบรวมล้มเหลวเนื่องจากพบการพิมพ์ผิดที่คุณแนะนำ การรันโปรแกรมบนสำเนาของไฟล์เดียวกันไม่ควรพิมพ์ผิดซ้ำสองครั้งติดต่อกัน เพื่อแสดงความท้าทายให้เรียกใช้โปรแกรมของคุณในไฟล์นี้: Take an array as input. Sort the array. Output the array. ควรเอาท์พุทบางอย่างตามแนวของ Error on line 1: 'Take an arqay as input.' ^ arqay is not a valid identifier. และไฟล์ที่คุณบอกให้โปรแกรมคอมไพล์ตอนนี้ควรมีลักษณะดังนี้: Take an arqay as input. Sort …
16 code-golf 

25
สั้นกว่าเสี้ยววินาที!
ท้าทาย งานของคุณสำหรับคำถามนี้คือการแบ่งอาร์เรย์อินพุตของจำนวนเต็มในการเกิดขึ้นครั้งที่สองของทุกจำนวนเต็มในอาร์เรย์นั้น ไม่ชัดเจนเพียงพอหรือไม่ นี่คือตัวอย่างที่จะช่วย อาร์เรย์อินพุต: [2 1 1 2 3 2 2 4 5 6 7 3 7 0 5] เอาท์พุท: [[2 1] [] [3 2 2 4 5 6 7] [] [0] []] คำอธิบาย: นี่คืออาร์เรย์ที่มีเพียงองค์ประกอบที่สองที่เน้นเป็นตัวหนา: [2 1 1 2 3 2 2 4 5 6 7 3 7 0 …

5
ภาษาคำอธิบายการวาดภาพ Mondrian
ความท้าทายนี้ประกอบด้วยการเข้ารหัสล่ามสำหรับภาษาคำอธิบายภาพวาดมอนเดรียน (MPDL) นิยามภาษา ภาษาดำเนินการกับกองสี่เหลี่ยม สี่เหลี่ยมถูกกำหนดโดยพิกัดด้านซ้ายบนและพิกัดล่างขวา พิกัดจะต้องเป็นจำนวนเต็ม สแต็กเริ่มต้นด้วยสี่เหลี่ยมเดียวที่มีคุณลักษณะ(1,1,254,254) แต่ละคำสั่งมีรูปแบบต่อไปนี้: <character><integer> มีสามคำสั่ง: v<integer>: ดำเนินการแบ่งตามแนวตั้งบนสี่เหลี่ยมผืนผ้าล่าสุดในสแต็ก ณ ตำแหน่งที่ระบุโดยพารามิเตอร์ (เป็นเปอร์เซ็นต์) สี่เหลี่ยมต้นฉบับจะถูกลบออกจากสแต็กและแทนที่ด้วยสี่เหลี่ยมใหม่สองอันที่เป็นผลมาจากการแยก สี่เหลี่ยมด้านซ้ายถูกผลักลงบนสแต็กจากนั้นสี่เหลี่ยมด้านขวา เนื่องจากพิกัดสี่เหลี่ยมผืนผ้าเป็นจำนวนเต็มเศษส่วนควรถูกปัดเป็นจำนวนเต็มเล็กที่สุด h<integer>: แยกแนวนอน สี่เหลี่ยมผืนผ้าด้านบนถูกผลักลงบนสแต็กจากนั้นสี่เหลี่ยมผืนผ้าด้านล่าง c<integer>: ลบสี่เหลี่ยมล่าสุดออกจากสแต็กและวาดเป็นสีที่กำหนดเป็นพารามิเตอร์ 1 = ขาว, 2 = แดง, 3 = น้ำเงิน, 4 = เหลือง ท้าทาย เขียนโปรแกรมที่รับพารามิเตอร์เป็นคำอธิบายการทาสีและสร้างการแทนค่าบิตแมป 256x256 ของสี่เหลี่ยมที่ทาสี รูปสี่เหลี่ยมจะต้องคั่นด้วยเส้นสีดำ 3 พิกเซล สี่เหลี่ยมหนึ่งหรือสองพิกเซลควรมีพิกเซลที่ไม่ใช่สีดำซ่อนอยู่โดยพิกเซลสีดำเส้นขอบ อินพุตสามารถอ่านเป็นพารามิเตอร์หรือเป็นไฟล์ขึ้นอยู่กับคุณ คำสั่งควรคั่นด้วยช่องว่าง คุณสามารถสันนิษฐานได้ว่าไฟล์อินพุตมีไวยากรณ์ที่ถูกต้องและไม่มีการเว้นวรรคหรือนำหน้าแท็บ ฯลฯ เอาต์พุตสามารถแสดงผลได้โดยตรงบนหน้าจอหรือบันทึกลงในไฟล์ตามที่คุณต้องการ รหัสที่สั้นที่สุดชนะ ทดสอบ …

2
สร้าง n-gons ด้วยไม้บรรทัดและเข็มทิศ
ภารกิจคือการวาดรูปหลายเหลี่ยมปกติของด้าน n โดยใช้เพียงเข็มทิศและไม้บรรทัดที่ไม่มีเครื่องหมาย อินพุต (n) เป็นหนึ่งใน 10 หมายเลขต่อไปนี้: 3, 4, 5, 6, 8, 10, 12, 15, 16, 17 วิธีการ : เนื่องจากคุณมีไม้บรรทัดและเข็มทิศเท่านั้นคุณจึงสามารถวาดจุดเส้นและวงกลมได้เท่านั้น บรรทัดสามารถวาดได้เท่านั้น: ผ่านสองจุดที่มีอยู่ วงกลมสามารถวาดได้เท่านั้น: มีจุดเดียวเป็นศูนย์กลางและมีเส้นรอบวงของมันผ่านจุดที่สอง จุดสามารถวาดได้เท่านั้น: ที่จุดตัดของสองบรรทัด ที่จุดตัดของเส้นตรงและวงกลม ที่จุดตัดของวงกลมสองวง ที่จุดเริ่มต้นเมื่อคุณอาจวาด 2 คะแนนเพื่อเริ่มต้น ผ่านกระบวนการนี้ (และผ่านขั้นตอนนี้เท่านั้น) คุณจะต้องวาดเส้น n ของ n-gon ที่ร้องขอพร้อมกับการทำงานใด ๆ ที่จำเป็นเพื่อไปยังขั้นตอนนั้น แก้ไข: ตำแหน่งของจุดตัดต้องคำนวณ แต่เส้นและวงกลมอาจถูกวาดด้วยวิธีการใด ๆ ที่ให้ไว้โดยภาษา เอาท์พุทเป็นภาพของรูปหลายเหลี่ยมปกติด้าน n แสดงการทำงาน กราฟิกไม่มีข้อ …

8
พื้นที่ผิวของจัตุรมุข
ความท้าทาย ความท้าทายนี้ตรงไปตรงมามาก ให้คะแนนสามมิติสี่จุดคำนวณพื้นที่ผิวของจัตุรมุขที่เกิดขึ้น นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดจึงชนะ ช่องโหว่มาตรฐานมีผลบังคับใช้พร้อมกับข้อกำหนดเพิ่มเติมที่ห้ามมิให้มีฟังก์ชั่นในตัวสำหรับทำงานนี้เนื่องจากข้อห้ามสี่ข้อ คุณสามารถสมมติว่าทั้งสี่คะแนนจะแตกต่างกันและจะได้รับผ่าน STDIN 1 จุดต่อบรรทัด แต่ละจุดจะประกอบด้วยจำนวนเต็ม 16 บิตที่ไม่ได้ลงชื่อ รูปแบบที่แน่นอนของแต่ละจุดสามารถแก้ไขได้ถ้ามันทำให้สิ่งต่าง ๆ ง่ายขึ้นเช่นจำนวนเต็มสามช่องว่างคั่น อย่างไรก็ตามการมีจุดแต่ละจุดในบรรทัดแยกต่างหาก ผลลัพธ์ควรผ่าน STDOUT ไปที่ตำแหน่งทศนิยมอย่างน้อย 2 ตำแหน่ง สำหรับผู้ที่ไม่ทราบว่าจัตุรมุขเป็นของแข็งสามมิติที่เกิดขึ้นจากใบหน้ารูปสามเหลี่ยม 4 หน้า ตัวอย่าง # input (format is up to you, see clarification above) [23822, 47484, 57901] [3305, 23847, 42159] [19804, 11366, 14013] [52278, 28626, 52757] # …
16 code-golf  math  3d 

9
สร้างลำดับตัวเลขรูปของ Hofstadter
ในGödel, Escher, Bach , Douglas Hofstadter แนะนำลำดับจำนวนเต็มซึ่งโดยทั่วไปจะเรียกว่าลำดับตัวเลขรูป: 2, 4, 5, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, ... คุณอาจจะสนุกกับการทำงานออกจากความหมายของลำดับตัวเองเป็นส่วนหนึ่งของความท้าทาย แต่ถ้าคุณไม่สามารถหรือไม่ต้องการที่จะคิดออกคุณสามารถค้นหาได้ใน OEIS เป็นลำดับA030124และคำนิยามที่ชัดเจนเล็กน้อยในวิกิพีเดีย เขียนโปรแกรมหรือฟังก์ชั่นที่กำหนดnผ่าน STDIN, ARGV หรือฟังก์ชั่นอาร์กิวเมนต์พิมพ์รายการnหมายเลขแรกของลำดับไปยัง STDOUT ในรูปแบบรายการที่สมเหตุสมผล นี่คือโค้ดกอล์ฟทางออกที่สั้นที่สุดในหน่วยไบต์ชนะ

8
วาดช่วงของภูเขา
แรงบันดาลใจจากฟีโบนัชชีโดมิโนปูกระเบื้องปัญหานี้เป็นเรื่องเกี่ยวกับการสร้างงานศิลปะ ASCII ที่เป็นตัวแทนลำดับ combinatorial ที่มีชื่อเสียงอื่น แผนภาพ n ขั้นตอนภูเขาเป็นภาพวาดของเทือกเขาโดยใช้ว่าn '/' และn '\' ตัวละครเช่นว่าตัวละครวาดเส้นโค้งต่อเนื่องซึ่งไม่เคย dips ด้านล่างของ "ความสูง" เริ่มต้น ตัวอย่างเช่น, /\/\ /\/ \ และ /\ /\/ \/\ เป็นไดอะแกรมภูเขา 4 ขั้นตอน แต่ /\ /\/\ \/ ไม่ใช่. อินพุต โปรแกรมควรยอมรับจำนวนเต็มnจาก stdin หรือเป็นพารามิเตอร์ไปยังฟังก์ชัน เอาท์พุต พิมพ์แผนภาพภูเขาn -step ทั้งหมดไปยัง stdout แผนภาพสามารถอยู่ในลำดับใดก็ได้ แต่ควรคั่นด้วยช่องว่างบางประเภท คุณสามารถตัดสินใจว่าไดอะแกรมที่แตกต่างกันจะถูกส่งออกในแนวนอนแนวตั้ง ฯลฯ เช่นเดียวกับปัญหาการเรียงหน้าโดมิโนคุณสามารถใช้ช่องว่างใดก็ได้ที่คุณต้องการ ซึ่งรวมถึงการขึ้นบรรทัดใหม่พิเศษก่อนหรือหลังเอาต์พุตที่พิมพ์ ตัวอย่าง ตัวอย่างผลลัพธ์ที่ใช้ได้สำหรับn = …


1
StackExchange Mustafa ทนไม่ได้ที่จะถามคำถามเดียวกันสามครั้ง
ออสติน: "ใครส่งคุณ" Mustafa: "คุณต้องฆ่าฉัน!" ออสติน: "ใครส่งคุณ" มุสตาฟา: "จูบก้นฉันพลัง!" ออสติน: "ใครส่งคุณ" Mustafa: "Dr. Evil" ( ... ) มุสตาฟา: "ฉันทนไม่ได้ที่จะถูกถามคำถามเดียวกันสามครั้งมันทำให้ฉันหงุดหงิด" คุณจะต้องจำลองการสนทนาสั้น ๆ ในจิตวิญญาณของAustin Powers และมุสตาฟา แต่แหล่งข้อมูลสำหรับการสนทนาทั้งหมดจะเป็นคำถาม StackOverflow (ระบุเป็นอินพุตจาก URL) กฎระเบียบ ชื่อผู้ถามคำถามจะถูกใช้แทน "Austin" คำถามที่พวกเขาจะถามสามครั้งมาจากประโยคสุดท้ายในชื่อคำถาม (ซึ่งถูกบังคับให้ลงท้ายด้วยเครื่องหมายคำถามหากยังไม่ได้ตอบ) StackExchange จะเล่นเป็นส่วนหนึ่งของ "Mustafa" ท้ายที่สุดคำตอบที่ได้รับมาจากประโยคแรกในคำตอบที่ไม่ได้ลงท้ายด้วยเครื่องหมายคำถามและจะนำมาประกอบกับชื่อของผู้ใช้ที่ตอบคำถาม สำหรับคำถามที่มีคุณสมบัติสำหรับเกมนั้นจะต้อง (ก) มีคำตอบและ (b) จะต้องมีลำดับความคิดเห็นเกี่ยวกับคำถามเดิมที่ไป: ความคิดเห็นจากคนอื่นที่ไม่ใช่ผู้ถาม (จำนวนความคิดเห็นที่ข้าม) ความคิดเห็นจากผู้ถาม ความคิดเห็นจากคนอื่นที่ไม่ใช่ผู้ถาม (ความคิดเห็นที่ข้ามได้จำนวนเท่าใดก็ได้) ความคิดเห็นจากผู้ถาม หากไม่พอใจกับลำดับนี้ก่อนวันที่ของคำตอบที่ได้รับการจัดอันดับสูงสุดโปรแกรมควรจะแสดงผลลัพธ์ออกมา"Oh, behave!" StackExchange …

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