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

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

3
แปลงตัวอย่างเป็นดัชนี
เรากำลังใส่ลูกเป็นจำนวนคงที่ถังขยะ ถังขยะเหล่านี้เริ่มว่างเปล่า Empty bin (a=4): 0 0 0 0 และหนึ่งโดยหนึ่งเราเพิ่มลูกไปที่ถังขยะ 0 0 0 1 or 0 0 1 0 or 0 1 0 0 or 1 0 0 0 เราต้องการวิธีที่รวดเร็วในการวนรอบสถานะที่เป็นไปได้ทั้งหมดที่ถังขยะใช้โดยไม่ซ้ำกันและไม่พลาดและเราไม่ต้องการแจกแจงถังขยะที่เป็นไปได้ทั้งหมด ดังนั้นเราจึงกำหนดดัชนีสำหรับถังขยะแต่ละชุดแทน เรากำหนดดัชนีโดยการจัดเรียงการกำหนดค่าที่เป็นไปได้ในวิธีเฉพาะ: เรียงลำดับจากน้อยไปหามาก: ก่อน0 0 0 0อื่นจากนั้นกำหนดค่าที่เป็นไปได้โดยเพิ่ม 1 ลูกจากนั้น 2 และอื่น ๆ จากนั้นจัดเรียงภายในแต่ละผลรวมตามลำดับจากน้อยไปหามาก: 0 0 0 2 0 0 1 …

8
ค้นหาวันที่ใกล้ที่สุดที่กำหนด TargetDate และวันของสัปดาห์
ค้นหาวันที่ใกล้เคียงที่สุดกับ TargetDate ในวันที่กำหนด ตัวอย่างเช่นกำหนดวันของ20161219และวันของสัปดาห์ของคำตอบคือFriday (6)20161216 อีกตัวอย่างหนึ่งที่กำหนดวันของ20161219และวันของสัปดาห์ของคำตอบคือWednesday (4)20161221 ตัวอย่างสุดท้ายกำหนดวันของ20161219และวันของสัปดาห์ของคำตอบคือMonday (2)20161219 กฎ: รูปแบบวันที่สำหรับอินพุตและเอาต์พุตต้องตรงกัน ในตัวอย่างที่ฉันใช้yyyymmddแต่คุณสามารถใช้รูปแบบใดก็ได้ตราบใดที่ปี (อย่างน้อยสองหลัก) เดือนและวันของเดือนนั้นเป็น "มนุษย์สามารถอ่านได้" Day of Week ป้อนข้อมูลเป็นจำนวนเต็ม 1ในตัวอย่างของฉันวันอาทิตย์เป็นวันแรกของสัปดาห์จึงจะเป็นวันของจำนวนสัปดาห์ คุณสามารถกำหนดวันในสัปดาห์ใดก็ได้ตราบใดที่คุณสังเกตว่ามันแตกต่างจากตัวอย่าง ปี 1970 ถึง 2030 จะต้องมีที่พักอาศัย อนุญาตให้ใช้เครื่องมือและไลบรารีของภาษาที่พบได้ทั่วไป แต่จะมีการมอบเครดิตถนนให้กับผู้ที่เลือกที่จะไม่ใช้ จำนวนไบต์ที่น้อยที่สุดจะชนะ
12 code-golf  date 

11
ความท้าทายจำนวนเต็มเชิงลบของคำสั่งซื้อ แต่เป็นเวลาหลัก!
ฉันกำลังพูดถึงคำถามนี้ลองดูสิถ้าคุณสับสน งานหลัก งานของคุณคือการส่งออกตัดแบ่งจำนวนเต็มในลำดับที่ลดลง แต่เพิ่มขึ้นทุกจำนวนเต็มสูงสุดที่คุณตี1 (สำหรับคำถามนี้ 1 จะได้รับการพิจารณาจำนวนเฉพาะ) ในขณะที่สิ่งนี้ไม่ได้มีความแตกต่างจากคำถามแรกนี่คือส่วนที่ยุ่งยาก: ตัวเลขที่ส่งออกทั้งหมดอาจเป็นเฉพาะช่วงเวลาเท่านั้น สิ่งเหล่านี้จะถูกรวมเข้าด้วยกันเป็นสตริงเดียวโดยไม่มีช่องว่างหรือขึ้นบรรทัดใหม่ ข้อมูลที่คุณป้อนจะเป็นหมายเลขเฉพาะ ตัวอย่าง: 1 21 321 5321 75321 1175321 Valid output: 1213215321753211175321 อินพุต รหัสของคุณอาจรับเพียงหนึ่งอินพุตเท่านั้น: ค่าสูงสุดที่จะพิมพ์ อินพุตนี้สามารถมาจากที่ใดก็ได้ (กราฟิก, STDIN) คุณมั่นใจได้ว่าการป้อนข้อมูลเป็นจำนวนเฉพาะ เอาท์พุต คุณจะต้องส่งออกหมายเลขผลลัพธ์ คุณสามารถรับหมายเลขนี้ได้โดยนับถอยหลังนับเฉพาะตัวเลขหากเป็นจำนวนเฉพาะแล้วเชื่อมต่อผลลัพธ์ทั้งหมดเข้าด้วยกันเป็นหนึ่งหมายเลข 7, 5, 3, 2, 1ต้องพิมพ์หมายเลข "แถว" สุดท้าย (เช่น) ทั้งหมด ผลลัพธ์อาจเป็นอะไรก็ได้ (ตัวเลขสตริงกราฟิก) ตราบใดที่สามารถอ่านได้ รูปแบบ Regex เดียวกันสำหรับตรวจสอบกรณีทดสอบของคุณจะนำไปใช้: ^(\D*(\d)+\D*|)$ หากผลลัพธ์ของคุณไม่ตรงกับรูปแบบนี้รหัสของคุณจะไม่ถูกต้อง กฎระเบียบ อินพุตมั่นใจได้ว่าจะดีเลิศไม่รวมถึงการจัดการข้อผิดพลาดเว้นแต่คุณต้องการ …

4
ช่วยฉันแก้ให้หายยุ่งสายเหล่านี้!
สายไฟของฉันยุ่งเหยิงทั้งหมด! มันน่ารำคาญไหมถ้าสายพันกันทั้งหมด? นั่นเป็นสิ่งที่เพิ่งเกิดขึ้นกับฉันดังนั้นฉันต้องการช่วยฉันแก้ให้หายยุ่ง! เพื่อความสะดวกของคุณฉันได้ตัดการเชื่อมต่อทั้งหมดจากอุปกรณ์ แต่พวกเขายังคงเชื่อมต่อกับเต้าเสียบ ความท้าทายของคุณคือหาวิธีแก้ให้หายยุ่ง! อินพุต อินพุตจะประกอบด้วยช่องว่างท่อและ Xs (ทั้งสองกรณี) อินพุตจะมีลักษณะดังนี้: | | | | X | | | | x | X | | | | | ทุน X หมายความว่าเส้นลวดด้านซ้ายตัดผ่านเส้นลวดด้านขวาและตัวพิมพ์เล็ก x หมายถึงสิ่งที่ตรงกันข้าม | | | |...บรรทัดแรกและครั้งสุดท้ายจะเป็น คุณอาจรับอินพุตเป็นสตริงที่คั่นด้วยเครื่องหมายจุลภาคอาร์เรย์ของสตริง ฯลฯ รูปแบบไม่เข้มงวดตราบใดที่เหมาะสมและไม่มีข้อมูลเพิ่มเติมใด ๆ เอาท์พุต สำหรับความท้าทายนี้ฉันไม่เพียงต้องรู้ว่าฉันจะต้องใช้เวลานานแค่ไหนฉันต้องรู้ว่าต้องทำอย่างไร ดังนั้นเอาท์พุทรายการคู่ที่เป็นจำนวนเต็มด้วยอักขระ R หรือ L ตัวพิมพ์เล็กและใหญ่ซึ่งแสดงว่าสายสองเส้นใดที่ไม่แก้ให้หายยุ่งและทางไหน (R หมายถึงทางซ้ายขวาและในทางกลับกันสำหรับ …
12 code-golf  string 

1
จัดกลุ่มเซลล์เหล่านี้!
ความท้าทายนี้ขึ้นอยู่กับเกมLayerz ให้ไว้ใน stdin หรือเป็นอาร์กิวเมนต์ของฟังก์ชั่นอาร์เรย์รูปสี่เหลี่ยมผืนผ้า 2 มิติของเซลล์ที่แต่ละเซลล์มีช่องว่าง (คุณสามารถเลือกใช้ 0s แทนช่องว่างโดยไม่มีการลงโทษ), 1, 2, 3, 3 หรือ 4 ; หาวิธีที่จะแบ่งออกเป็นภูมิภาคที่ถูกต้อง (ตามที่กำหนดไว้ด้านล่าง) เช่นนั้นเซลล์ที่ไม่ว่างแต่ละเซลล์จะถูกบรรจุโดยหนึ่งภูมิภาค จากนั้นเอาต์พุตโซลูชันที่พบในรูปแบบที่สมเหตุสมผล หากไม่มีวิธีแก้ปัญหาให้หยุดโดยไม่สร้างเอาต์พุตหรือเอาต์พุตเป็นค่าเท็จเพียงครั้งเดียวแล้วหยุด สิ่งต่อไปนี้ถือว่าเป็นภูมิภาคที่ถูกต้อง: เซลล์เดียวที่มี 1 เซลล์ที่มี 2 และหนึ่งในเพื่อนบ้าน orthogonal ที่ไม่ว่างเปล่า เซลล์ที่มี 3 และสองของเพื่อนบ้าน orthogonal ไม่ว่าง เซลล์ที่มี 4 และสามของเพื่อนบ้าน orthogonal ไม่ว่าง นี่คือcode-golfดังนั้นคำตอบที่ถูกต้องสั้นที่สุดเป็นไบต์ชนะ กรณีทดสอบบางส่วน: 1. คนที่ค่อนข้างเล็กน้อย: และนี่คือวิธีแก้ปัญหาโดยแต่ละภูมิภาคมีสีแตกต่างกัน: 2. อันที่น่าสนใจมากกว่า อันนี้มีทางออกมากกว่าหนึ่งอัน แต่นี่คือหนึ่งในนั้น: 3. ตัวที่เล็กกว่าที่มีช่องว่างซึ่งไม่มีวิธีแก้ปัญหาใด …

5
ยุบ ascii-art
ท้าทาย กำหนดตารางสี่เหลี่ยมของอักขระ ASCII ที่พิมพ์ได้เป็นสตริงหรือผ่านอินพุตมาตรฐานให้เขียนฟังก์ชันหรือโปรแกรมที่ยุบอักขระที่ไม่ใช่ช่องว่างลงในกองด้านล่าง กฎระเบียบ: เอาต์พุตมีขนาดและตัวอักษรเหมือนกับอินพุต เป็นตัวละครที่ไม่ใช่พื้นที่ที่(row a,column b)ไม่สามารถมีอักขระช่องว่าง' 'ที่(a-1, b), (a-1,b-1)หรือ(a-1,b+1)ที่แถวที่มีเลขขึ้นมาจากด้านล่างสุด นี่คือผลที่ตามมาว่ากองแนวตั้งทั้งหมดควรยุบไปด้านข้าง อักขระที่ไม่เว้นวรรคสามารถเดินทางได้หลาย(initial height - final height)ที่ทางซ้ายหรือขวา (ดูรูปที่ 1) คุณสามารถสมมติว่าภาพมีพื้นที่เพียงพอที่จะยุบลงโดยไม่มีตัวอักษรตกลงมาจากหน้าจอ รูปที่ 1: ตำแหน่งสุดท้ายที่เป็นไปได้สำหรับตัวอักษรที่@#$แสดงx,y,zตามลำดับ .............. ...@.......... ..xxx......... .xxxxx...#.... xxxxxxx.yyy.$. ลำดับการยุบอักขระสามารถเลือกได้อย่างอิสระ ช่องว่างต่อท้ายไม่เป็นไร แต่มีการขึ้นบรรทัดใหม่ นี่คือโค้ดกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ! ตัวอย่าง (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ..."Have you mooed today?"... หนึ่งเอาต์พุตที่เป็นไปได้: --(_ …

1
ฉันต้องการที่จะดูคุณตายจากความกระหาย
คุณเป็นนักเดินทางข้ามทะเลทรายระหว่างสองเมือง คุณไม่สามารถอุ้มน้ำได้พอโดยไม่หยุด นี่คือรูปแบบของปริศนาคลาสสิก กฎระเบียบ ทะเลทรายมีลักษณะดังนี้: ตาราง WxH ของพื้นที่ว่างเปล่าส่วนใหญ่ พื้นที่ที่ทำเครื่องหมายไว้Sคือจุดเริ่มต้นของคุณEคือที่ที่คุณต้องการสิ้นสุดและสี่เหลี่ยมจัตุรัสที่มีหมายเลข N ถือ N หน่วยของน้ำ สี่เหลี่ยมที่ทำเครื่องหมายด้วยการ.ถือน้ำเป็นศูนย์ ..................................... ........S............................ ..................................... .........7........................... ..................................... .......................3............. .....5............................... ................................2.... ..................................... ..................................... ..................................... ...............................E..... ..................................... ....................7................ ..................................... ..................................... คุณเริ่มต้นที่ S ด้วยน้ำ 5 หน่วย คุณสามารถบรรทุกน้ำได้มากที่สุด 5 หน่วย ทุกครั้งที่คุณหัน เลื่อนหนึ่งช่องขึ้น, ลง, ซ้ายหรือขวา กินน้ำ 1 หน่วยที่คุณถืออยู่ เลือกขึ้นหรือลดลงจำนวนหน่วยของน้ำ เลี้ยวเป็น notated ดังนี้: (direction)(+|-)(units …
12 code-golf  game  search 

1
พิสูจน์ 2 + 2 = 2 * 2 (และคล้ายกัน)
เอาท์พุทกะเทยอย่างเป็นทางการเต็มรูปแบบของงบดังกล่าวเช่น1+2=3, 2+2=2*(1+1)ฯลฯ Introuction หากคุณรู้เลขคณิตของ Peano คุณสามารถข้ามส่วนนี้ได้ นี่คือวิธีที่เรากำหนดหมายเลขธรรมชาติ: (Axiom 1) 0 is a number (Axiom 2) If `x` is a number, the `S(x)`, the successor of `x`, is a number. ดังนั้นตัวอย่างS(S(S(0)))คือตัวเลข คุณสามารถใช้การแทนที่เทียบเท่าในรหัสของคุณ ตัวอย่างเช่นสิ่งเหล่านี้ถูกต้อง: 0 "" 0 () ! 1 "#" S(0) (()) !' 2 "##" S(S(0)) ((())) !'' 3 "###" S(S(S(0))) …

9
ตัวเลขรูปหลายเหลี่ยม!
บทนำ ในคณิตศาสตร์ตัวเลขหลายเหลี่ยมเป็นตัวเลขที่แสดงเป็นจุดหรือก้อนกรวดที่จัดเรียงในรูปของรูปหลายเหลี่ยมปกติ จุดต่างๆนั้นคิดว่าเป็นตัวอักษร (หน่วย) นี่เป็นตัวเลขเปรียบเทียบสองมิติหนึ่งประเภท ตัวอย่างเช่นหมายเลข 10 สามารถจัดเรียงเป็นรูปสามเหลี่ยมได้: * ** *** **** แต่ 10 ไม่สามารถจัดเป็นสี่เหลี่ยม ในทางกลับกันหมายเลข 9 สามารถ: *** *** *** ตัวเลขบางตัวเช่น 36 สามารถจัดเรียงได้ทั้งแบบสี่เหลี่ยมจัตุรัสและสามเหลี่ยม: ****** * ****** ** ****** *** ****** **** ****** ***** ****** ****** ตามแบบแผน 1 คือหมายเลขรูปหลายเหลี่ยมแรกสำหรับจำนวนด้านใด ๆ กฎสำหรับการขยายรูปหลายเหลี่ยมให้มีขนาดถัดไปคือการขยายแขนข้างที่ติดกันสองจุดด้วยจุดเดียวแล้วเพิ่มด้านพิเศษที่จำเป็นระหว่างจุดเหล่านั้น ในไดอะแกรมต่อไปนี้แต่ละเลเยอร์พิเศษจะแสดงเป็นสีแดง ตัวเลขสามเหลี่ยม: หมายเลขสแควร์: รูปหลายเหลี่ยมที่มีจำนวนด้านสูงกว่าเช่นเพนตากอนและรูปหกเหลี่ยมสามารถสร้างได้ตามกฎนี้แม้ว่าจุดจะไม่กลายเป็นโครงตาข่ายปกติอย่างสมบูรณ์แบบดังกล่าวข้างต้น หมายเลขห้าเหลี่ยม: ตัวเลขหกเหลี่ยม: ที่มา: Wikipedia งานของคุณ …

17
สร้าง / * ความคิดเห็นหมายเลขบรรทัด * /
งานของคุณคือการเขียนโปรแกรม (หรือฟังก์ชั่น) ที่จะใช้สตริงเป็นอินพุตและต่อท้ายข้อความที่จุดเริ่มต้นของทุกบรรทัดที่เป็นไปตามกฎต่อไปนี้: ข้อความต่อท้ายต้องมีหมายเลขบรรทัด คุณอาจใช้การจัดทำดัชนี 0- หรือ 1 ข้อความต้องเป็นความคิดเห็นในภาษาของคุณ ความคิดเห็นถูกกำหนดให้เป็นส่วนหนึ่งของรหัสที่ถูกต้อง syntacticly ที่ทำให้ไม่มีการเปลี่ยนแปลงสถานะของโปรแกรม การลบความคิดเห็นไม่ควรเปลี่ยนแปลงโปรแกรม ความคิดเห็นอาจมีการขึ้นบรรทัดใหม่ในตอนท้ายของมัน คุณไม่จำเป็นต้องใส่หมายเลขบรรทัดสำหรับบรรทัดที่มีเพียงช่องว่างและความคิดเห็น ข้อมูลจำเพาะ คุณอาจสมมติว่าการป้อนข้อมูลจะเป็นโปรแกรมที่ถูกต้องในภาษาของคุณ ในภาษาที่ไวต่อการเยื้องเช่น Python คุณสามารถใส่ความคิดเห็นหมายเลขบรรทัดหลังจากการเยื้องทั้งหมด คุณสามารถเลือกแท็บหรือช่องว่างให้เป็นอักขระย่อหน้าได้ แต่คุณต้องระบุในโพสต์ คุณอาจสันนิษฐานว่าทุกคำสั่งในรหัสจะใช้เวลาสูงสุด 1 บรรทัด เช่นไม่มีสตริงหลายบรรทัดหรือแบ็กสแลชต่อเนื่อง กรณีทดสอบ งูหลาม: #0 a = int(input()) #1 while a: #2 print(a) C: (พูดตามตรงฉันประหลาดใจกับคอมไพล์นี้) /*0 */#include <stdio.h> /*1 */int main() /*2 */{ /*3 */ char …

9
วาดเส้นโค้งของ Hilbert
Hilbert Curve เป็นรูปแบบหนึ่งของการเติมพื้นที่ว่างและโดยทั่วไปแล้วจะจับคู่กับระนาบ แต่ละจุดในเส้นตรงกับจุดเดียวในระนาบและแต่ละจุดในระนาบนั้นตรงกับจุดเดียวบนเส้น มีการทำซ้ำ 0 ถึง 4 ของ Hilbert Curve: การทำซ้ำ 0 ถึง 4: วัตถุประสงค์ของงานนี้: เขียนโค้ดที่วาดการวนซ้ำที่สี่ของ Hilbert Curve ตามที่กำหนดไว้ข้างต้น รหัสของคุณควรจะสมบูรณ์ - ในคำอื่น ๆ ถ้าคุณสร้างฟังก์ชั่นเพื่อวาดเส้นโค้ง Hilbert รหัสของคุณจะต้องเรียกใช้ฟังก์ชันนั้น สามารถแสดงเอาต์พุตโดยตรงบนหน้าจอหรือคุณสามารถเขียนเอาต์พุตไปยังไฟล์รูปภาพ เส้นโค้งอาจหมุนหรือพลิกได้ แต่เส้นจะต้องตัดกันที่มุมขวาและไม่สามารถยืดออกได้ ศิลปะ ASCII ได้รับการชื่นชม แต่จะไม่ได้รับการยอมรับ รหัสที่สั้นที่สุดเป็นไบต์ชนะ!

5
เพิ่มความคิดเห็นไปยังสคริปต์ Python และทำให้เป็น "โปรแกรม Python / C ++" สองภาษา
รับสคริปต์ Python 3 ต่อไปนี้: def greet(): print("Hello, world!") greet() เติมบางบรรทัดลงในไฟล์ข้อความนี้เพื่อให้สามารถดำเนินการทั้งสองเป็นโปรแกรม Python ได้เช่นเดียวกับการคอมไพล์และเรียกใช้เป็นโปรแกรม C ++ ที่สร้างผลลัพธ์เดียวกัน Hello, world! (รวมถึงการขึ้นบรรทัดใหม่ในตอนท้าย): $ python3 bilingual.py.cpp Hello, world! $ g++ bilingual.py.cpp && ./a.out Hello, world! การแก้ปัญหาจะได้คะแนนจากจำนวนตัวอักษรที่ไม่ใช่ช่องว่างของโปรแกรมทั้งหมดรวมถึงสคริปต์ Python: sed 's/\s//g' bilingual.py.cpp|wc -c

2
Animate Adve the Adventurer
ความท้าทาย งานของคุณคือสร้างภาพเคลื่อนไหวนักผจญภัยที่เคลื่อนไหวผ่านเขาวงกตที่น่าขนลุก (เช่นฮาโลวีน) โฆษณาคือ•; แม้ว่าเขาจะเป็นตัวละครที่คล่องแคล่วดังนั้นเขาจึงไม่คิดที่จะเป็นตัวแทนของตัวละครอื่น ในการเคลื่อนไหวภาพเคลื่อนไหวคุณพิมพ์แต่ละเฟรม เฟรมคือแผนที่ที่มีตำแหน่งปัจจุบันของเขาอยู่ Adve ย้ายหนึ่งช่องว่างไปข้างหน้าทุกตาและไม่ย้อนกลับ เขาเริ่มในแถวแรกและสิ้นสุดในแถวสุดท้าย อินพุต รูปแบบที่สมเหตุสมผลเช่นสตริงที่มีตัวคั่นหรืออาร์เรย์สตริง คุณสามารถสมมติว่าการป้อนข้อมูลจะเป็นแผนที่มากกว่า 3 * 3 ที่มีเพียงเส้นทางเดียวที่เป็นไปได้ ปัจจุบันมีเพียงตัวอักษรจะเป็นและ# เอาท์พุต เฟรม ตัวอย่างเขาวงกต ( โอเค ... เขาวงกต ) นี่คือแผนที่ที่ไม่มีโฆษณา เฟรมแรกและเฟรมสุดท้ายคือแผนที่เปล่า (แผนที่นี้คือ 9x15): ### ##### ## ##### ## ###### ## # ####### # # ### # # # # # # # ### …
12 code-golf  string 

11
สแควร์ - unspiral สตริง!
รับสตริงให้ทำตารางแรกดังนี้: ก่อนอื่นให้เขียนสตริง abcde จากนั้นเขียนสตริงที่หมุนไปทางซ้าย abcde bcdea ทำสิ่งนี้ต่อไปจนกว่าคุณจะได้เขียนบรรทัดlen (สตริง) abcde bcdea cdeab deabc eabcd ตอนนี้อ่านจากสายเช่นนี้: ----+ +--+| |+>|| |+-+| +---+ ซึ่งจะช่วยให้: abcdeabcdcbaedcbcdeabaede พิมพ์สตริงนี้ กรณีทดสอบ abcdef -> abcdefabcdedcbafedcbcdefabcbafedefaf cena! -> cena!cenanec!anena!cec!a! ppcg -> ppcgppcppgcpcgpg abc -> abcabacbc ab -> abab a -> a -> โปรดแสดงความคิดเห็นหากกรณีทดสอบไม่ถูกต้อง จำไว้ว่านี่คือcode-golfดังนั้นโค้ดที่มีจำนวนไบต์น้อยที่สุดจะเป็นผู้ชนะ
12 code-golf  string 

30
ค้นหา "ขนาดที่ไม่ได้ห่อ" ของรายการ
มากำหนดฟังก์ชั่น "ขนาดที่ไม่ได้ห่อ" uของรายการซ้อนl(มีเพียงรายการ) โดยกฎต่อไปนี้: ถ้าlว่างแล้วก็u(l)คือ 1 หากlไม่ว่างเปล่าu(l)เท่ากับผลรวมของขนาดที่ยังไม่ได้เปิดของทุกองค์ประกอบในlบวกอีกหนึ่ง งานของคุณคือการเขียนโปรแกรม (หรือฟังก์ชั่น) ที่ใช้รายการเป็นอินพุตและเอาต์พุต (หรือส่งคืน) ขนาดที่ไม่ได้ตัดทิ้งของรายการ กรณีทดสอบ: [] -> 1 [[[]],[]] -> 4 [[[]],[[[[]],[]]],[[[]],[[[[]],[[],[[]]]]]]] -> 19 [[[[]]]] -> 4 นี่คือรหัสกอล์ฟดังนั้นโปรแกรมที่สั้นที่สุด (เป็นไบต์) จะชนะ

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