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

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

3
แชร์ปาร์ตี้วันเกิด
สำนักงาน (เรียกว่า "สำนักงาน") กำลังจะลดเวลาที่เสียไปในปี 2562 โดยรวมงานวันเกิดของสำนักงาน บุคคลสองคนใดที่มีวันเกิดระหว่างวันจันทร์ถึงวันศุกร์ (รวม) ในสัปดาห์เดียวกันจะได้รับการเฉลิมฉลองด้วยปาร์ตี้วันเกิดที่ใช้ร่วมกันในบางครั้งในสัปดาห์นั้น ผู้ที่มีวันเกิดตกในวันเสาร์หรือวันอาทิตย์จะไม่มีปาร์ตี้เลย บางคนไม่ชอบแบ่งปันปาร์ตี้วันเกิดกับคนที่ไม่ได้แบ่งปันวันเกิดจริง พวกเขาจะโกรธมากที่จะมีปาร์ตี้วันเกิดร่วมกัน พวกเราจะไปจำลองสำนักงานและพบว่าในสัปดาห์แรกที่มีคนได้รับโกรธมากเกี่ยวกับพวกเขาที่ใช้ร่วมกันงานเลี้ยงวันเกิด ความท้าทาย เขียนโปรแกรมหรือฟังก์ชั่นที่ส่งออกหมายเลขสัปดาห์ ISO แรกสำหรับปี 2019 ซึ่งบางคนในสำนักงานจำลองได้โกรธมากเกี่ยวกับงานวันเกิดร่วมของพวกเขาภายใต้กฎพื้นฐานต่อไปนี้: ป้อนจำนวนเต็มN > 1 ซึ่งเป็นจำนวนพนักงานในสำนักงาน ไม่มีวันเกิดตัวเองจะกระจายอย่างสม่ำเสมอที่สุ่ม ม.ค. 01-31 ธันวาคม (ละเว้น 29 กุมภาพันธ์) แต่สัปดาห์การทำงานเพื่อจุดประสงค์ในการกำหนดวันเกิดที่ใช้ร่วมกันคือ 2019 ISO สัปดาห์วันซึ่งอยู่ระหว่าง 2019-W01-1 (2018-12-31) และ 2019-W52-7 (2019-12-29) สัปดาห์ ISO ใหม่จะเริ่มทุกวันจันทร์ (ฉันคิดว่านี่คือทั้งหมดที่คุณต้องรู้เกี่ยวกับ ISO สัปดาห์สำหรับความท้าทายนี้) สำหรับคนNในสำนักงานแต่ละคนมีโอกาส 1/3 ในการมีบุคลิกภาพแบบวันเกิดแชร์โกรธมาก ดังนั้นคุณจะต้องจำลองสิ่งนั้นด้วย แต่พวกเขาจะไม่โกรธถ้ามีการแบ่งปันปาร์ตี้กับคนที่มีวันคล้ายวันเกิด …

12
การผสมผสานที่เป็นไปได้
ปัญหา กำหนดค่า n ให้นึกภาพทิวทัศน์ของภูเขาที่ถูกจารึกไว้ในข้อมูลอ้างอิง (0, 0) ถึง (2n, 0) ไม่มีช่องว่างสีขาวระหว่างเนินเขาและภูเขาจะไม่ลงมาใต้แกน x ปัญหาที่ต้องแก้ไขคือ: ให้ n (ซึ่งกำหนดขนาดของภูมิประเทศ) และจำนวน k ของยอดเขา (k เสมอน้อยกว่าหรือเท่ากับ n), สามารถผสมกันได้กี่ภูเขากับ k peaks? อินพุต n ผู้แทนความกว้างของภูมิประเทศและ k ซึ่งเป็นจำนวนยอดเขา เอาท์พุต เพียงแค่จำนวนชุดค่าผสมที่เป็นไปได้ ตัวอย่าง รับ n = 3 และ k = 2 คำตอบคือ 3 ชุดค่าผสม เพียงเพื่อให้เป็นตัวอย่างภาพพวกเขามีดังต่อไปนี้: /\ /\ /\/\ /\/ \ / …

3
เลขคณิตตีความ
ข้อเท็จจริงที่รู้จักกันเล็กน้อยคือถ้าคุณเปิดส่วนขยายภาษามากพอ (ghc) Haskell จะกลายเป็นภาษาที่แปลแบบไดนามิก! ตัวอย่างเช่นโปรแกรมต่อไปนี้ใช้การเพิ่ม {-# Language MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances, UndecidableInstances #-} data Zero data Succ a class Add a b c | a b -> c instance Add Zero a a instance (Add a b c) => Add (Succ a) b (Succ c) มันไม่ได้ดูเหมือน Haskell อีกต่อไป สำหรับหนึ่งแทนที่จะใช้งานมากกว่าวัตถุเราดำเนินงานมากกว่าประเภท แต่ละหมายเลขเป็นประเภทของตัวเอง แทนที่จะเป็นฟังก์ชั่นเรามีคลาสประเภท …

11
เข็มนาฬิกาแห่งความพินาศ
คุณถูกผูกมัดกับเก้าอี้ ข้างใต้คุณเป็นภูเขาไฟขนาดใหญ่ นาฬิกา 12 ชั่วโมงถัดจากคุณติ๊กเป็นลางสังหรณ์และคุณเห็นว่ามันมีสายไฟที่นำขึ้นจากด้านหลังจนถึงโซ่ซึ่งจะนำคุณไปสู่ศูนย์กลางของโลก บันทึกลงในนาฬิกาเป็นโน้ต: เข็มนาฬิกาแต่ละอันมีอิเล็กโทรด เมื่อเข็มนาฬิกาทั้งสองอยู่ในตำแหน่งเดียวกันพลังจะไหลและคุณตาย นั่นคือถ้าคุณไม่สามารถบอกเวลาที่แน่นอนว่าสิ่งนี้จะเกิดขึ้นในนาทีที่ใกล้ที่สุด คุณมีคอมพิวเตอร์ที่รู้ภาษาการเขียนโปรแกรมทุกภาษา คุณต้องสร้างให้สั้นที่สุด (นี่คือรหัสกอล์ฟและห้ามช่องโหว่มาตรฐาน ) ที่คุณสามารถทำได้และบอกนักวิทยาศาสตร์ที่ชั่วร้ายว่าต้องใช้เวลา โปรแกรมของคุณควรป้อนข้อมูล (ในวิธีใด ๆ ) ซึ่งประกอบด้วยชั่วโมงและนาที ควรคืนชั่วโมงและนาทีถัดไป (ในวิธีใด ๆ ) ที่เกิดขึ้น ตามหน้า OEISเวลาที่คาบเกี่ยวกันสิบเอ็ดครั้งคือ: 00:00:00 plus 0/11 s, 01:05:27 plus 3/11 s, 02:10:54 plus 6/11 s, 03:16:21 plus 9/11 s, 04:21:49 plus 1/11 s, 05:27:16 plus 4/11 s, …
9 code-golf  date 

10
วันที่เกิดขึ้น
รับสาม integers เชิงลบy, mและd(ซึ่งอย่างน้อยหนึ่งต้องเป็นบวก) และวันที่ถูกต้องกับปีบวก (ในรูปแบบที่เหมาะสมใด ๆ ที่มีปีเดือนและวันที่และไม่มีข้อมูลเพิ่มเติม) เอาท์พุท วันที่คือyปีmเดือนและdวันหลังจากวันที่เดิม ปฏิทิน Gregorian นั้นจะใช้สำหรับทุกวัน วิธีการคำนวณวันที่ถัดไปมีดังนี้: เพิ่มyไปยังปี เพิ่มmไปยังเดือน ทำให้วันที่ปกติเป็นปกติโดยใช้ rollovers (เช่น2018-13-01-> 2019-01-01) หากวันนั้นผ่านวันสุดท้ายของเดือนให้เปลี่ยนเป็นวันสุดท้ายของเดือน (เช่น 2018-02-30 -> 2018-02-28) เพิ่ม dไปยังวันที่ ทำให้วันที่ปกติเป็นปกติโดยใช้ rollovers (เช่น2019-01-32-> 2019-02-01) Leap ปี (ปีหารด้วย 4 แต่ไม่หารด้วย 100 ยกเว้นหารด้วย 400) ต้องจัดการอย่างเหมาะสม อินพุตและเอาต์พุตทั้งหมดจะอยู่ในช่วงจำนวนเต็มที่เป็นตัวแทนของภาษาของคุณ กรณีทดสอบ กรณีทดสอบมีให้ในรูปแบบinput => outputโดยที่inputเป็นวัตถุ JSON {"date":"2018-01-01","add":{"d":1}} => 2018-01-02 {"date":"2018-01-01","add":{"M":1}} …
9 code-golf  date 

24
undelta แบบทวีคูณ
ให้เรากำหนดค่า"delta multiplicative"ของค่าต่างๆ[a0,⋯aN,][a0,⋯aN,][\; a_0, \cdots a_N, \;] เช่น: [a1/a0,⋯,ai+1/ai,⋯,aN/aN−1][a1/a0,⋯,ai+1/ai,⋯,aN/aN−1] [\; a_1 / a_0, \cdots, a_{i+1} / a_i, \cdots, a_N / a_{N-1} \;] การดำเนินการย้อนกลับ - คือ"multiplicative undelta" - ส่งคืนค่าเช่นการดำเนินการข้างต้นส่งผลให้ค่าที่กำหนด ตัวอย่าง ค่าที่กำหนด [1,5,3,2][1,5,3,2][\; 1, 5, 3, 2 \;]โซลูชันทั่วไปสำหรับการดำเนินการ " multiplicative undelta " คือ: [a0,a0⋅1a1,a1⋅5a2,a2⋅3a3,a3⋅2a4][a0,a0⋅1⏟a1,a1⋅5⏟a2,a2⋅3⏟a3,a3⋅2⏟a4] [\; a_0, \quad \underset{a_1}{\underbrace{a_0 \cdot 1}}, \quad \underset{a_2}{\underbrace{a_1 \cdot …

10
สิ่งอันดับตามลำดับขั้นตอนผ่านรายการในรายการ
ท้าทาย: ได้รับรายชื่อของรายการว่างของจำนวนเต็มกลับรายการ tuples ของรูปแบบต่อไปนี้: ครั้งแรก tuples รายการเริ่มต้นด้วยองค์ประกอบของรายการแรกตามด้วยองค์ประกอบแรกของทุกรายการที่ตามมาแต่ละครั้งดังนั้น tuple ith [ith element of first list, first element of second list, ... , first element of last list]ที่ควรจะเป็น ตัวอย่างเช่น: [[1, 2, 3], [4, 5, 6], [7, 8, 9]] => [[1, 4, 7], [2, 4, 7], [3, 4, 7], ... จากนั้นทำ tuples ของแบบฟอร์ม[last …

2
เคล็ดลับการเล่นกอล์ฟใน The Powder Toy
ขอให้สนุกกับเกมนี้The Powder Toyเป็นความท้าทายที่น่าสนใจสำหรับกอล์ฟโดยเฉพาะกับตัวกรอง สิ่งที่ทำให้ TPT เป็นความท้าทายคือหลาย ๆ วิธีในการแก้ไขปัญหา: Should I use Cellular Automaton rules, SWCH logic, Filt logic, subframe filt logic, and/or wall logic? ดังนั้นสถานที่สำหรับเคล็ดลับสำหรับการเล่นกอล์ฟ TPT จะค่อนข้างมีประโยชน์ดังนั้นฉันจึงสร้างคำถามนี้ขึ้นมา เธรดนี้มีแนวโน้มที่จะใช้ตัวย่อจำนวนมาก ส่วนใหญ่จะเป็นองค์ประกอบในเกมดังนั้นการค้นหาพวกเขาบนWikiจะทำให้คุณได้รับข้อมูลมากมายเกี่ยวกับพวกเขาเช่นที่พวกเขาเป็น ต่อไปนี้เป็นสิ่งที่พบบ่อยที่สุดที่คุณจะเห็นในกระทู้นี้พร้อมแนบคำอธิบายในเกม (และชื่อเต็มของพวกเขา) สำหรับผู้ที่ไม่ต้องการค้นหา: SPRK: ไฟฟ้า พื้นฐานของอุปกรณ์อิเล็กทรอนิกส์ทั้งหมดใน TPT เดินทางไปตามสายไฟและองค์ประกอบนำไฟฟ้าอื่น ๆ กรอง: ตัวกรอง กรองโฟตอนเปลี่ยนสี ARAY: Ray Emitter รังสีสร้างคะแนนเมื่อชนกัน BTRY: แบตเตอรี่ สร้างกระแสไฟฟ้าไม่สิ้นสุด DRAY: เครื่องทำสำเนาเรย์ …
9 code-golf  tips  the-powder-toy  code-golf  number  array-manipulation  integer  code-golf  string  decision-problem  boggle  code-golf  array-manipulation  average  code-golf  math  code-golf  decision-problem  restricted-source  code-golf  code-golf  math  primes  code-golf  random  code-golf  tips  perl  code-golf  string  parsing  code-golf  math  number  decision-problem  code-golf  math  number  code-golf  string  alphabet  code-golf  math  geometry  code-golf  interpreter  brainfuck  code-golf  code-golf  decision-problem  boggle  code-golf  math  number  sequence  code-golf  math  code-golf  ascii-art  code-challenge  restricted-source  quine  code-golf  math  decision-problem  number-theory  primes  code-golf  ascii-art  code-golf  integer  graph-theory  chess  code-golf  math  interpreter  code-golf  code-golf  code-golf  ascii-art  code-golf  arithmetic  number-theory  code-golf  string  kolmogorov-complexity  code-golf  string  decision-problem  code-golf  primes  factoring  encode  code-golf  decision-problem  code-golf  geometry  grid  code-golf  quine  code-golf  matrix  code-golf  matrix  code-golf  code-golf  number  array-manipulation  code-golf  array-manipulation  sorting  code-golf  matrix  code-golf  brain-flak 

22
ลดการใช้ค่าต่ำสุด
ความท้าทาย สร้างฟังก์ชั่นที่ใช้อาร์เรย์ของตัวเลขและลบออกจากแต่ละองค์ประกอบซึ่งเป็นองค์ประกอบที่ต่ำที่สุดในอาร์เรย์ที่ยังไม่ได้ถูกลบออกจากอีกองค์ประกอบ หลังจากใช้ค่าต่ำสุดจะไม่สามารถใช้งานได้อีก ตัวเลขในอาร์เรย์เป็นตัวเลขทศนิยมและไม่จำเป็นต้องเป็นจำนวนเต็ม ตัวอย่าง: Input: [6, 4, 7, 8, 9, 2, 1, 4] Next lowest value: Output: [6, 4, 7, 8, 9, 2, 1, 4] [6, 4, 7, 8, 9, 2, 1, 4] ^ ^ 6-1 = 5 [6, 4, 7, 8, 9, 2, -, 4] [5, 4, 7, …

5
ตีความ TwoMega
ในความท้าทายนี้คุณจะเขียนล่ามสำหรับ2 Ω (ถ่ายเมื่อTwoMega ) ภาษาเคร่งครัดตามbrainfuckที่มีพื้นที่จัดเก็บอนันต์มิติ ภาษา 2 Ωมีสถานะสามส่วน: เทปซึ่งเป็นรายการที่ไม่มีที่สิ้นสุดของบิตทั้งหมดเริ่มต้นได้ที่ 0 มันมีองค์ประกอบทางด้านซ้ายสุด แต่ไม่มีองค์ประกอบด้านขวาสุด หน่วยความจำตัวชี้ซึ่งเป็นติดลบที่เป็นดัชนีขององค์ประกอบในเทป ตัวชี้หน่วยความจำที่สูงกว่าหมายถึงเซลล์เทปทางด้านขวา ตัวชี้หน่วยความจำ 0 หมายถึงองค์ประกอบด้านซ้ายสุด ตัวชี้หน่วยความจำถูกเตรียมใช้งานเป็น 0 Hypercubeซึ่งเป็นแนวคิด∞มิติ "กล่อง" ของเซลล์แต่ละที่มีบิตเริ่มต้น 0 ความกว้างของ Hypercube ถูกผูกไว้ในทุกมิติให้เพียง 2 เซลล์ แต่อินฟินิตี้ของมิติหมายถึงจำนวนของ เซลล์คือนับไม่ได้ ดัชนีเข้า hypercube เป็นรายการที่ไม่มีที่สิ้นสุดของบิตที่หมายถึงเซลล์ใน hypercube ที่ (ในทางเดียวกันว่าเป็นรายการที่ จำกัด ของบิตสามารถนำมาใช้ในการอ้างถึง hypercube ของมิติ จำกัด ก) เนื่องจากเทปเป็นรายการที่ไม่มีที่สิ้นสุดของบิตเทปทั้งหมดจึงอ้างอิงองค์ประกอบของ Hypercube เสมอ องค์ประกอบนี้จะเรียกว่าอ้างอิง 2 Ωให้ความหมายถึง 7 ตัวอักษรที่แตกต่างกัน: …

5
สี่แกนหมุนวน
นำตัวเลข0, 1, 2, 3, 4, ...และจัดเรียงเป็นเกลียวตามเข็มนาฬิกาเริ่มต้นลงเขียนตัวเลขแต่ละหลักในตารางแยกของตัวเอง จากนั้นหนึ่งในสี่ของอักขระ ASCII ที่แตกต่างและสอดคล้องกัน (ตัวเลือกของคุณ) แทนแกนและจำนวนเต็มอินnพุทเอาท์พุทnคำแรกของลำดับที่อธิบายโดยเลือกสี่เหลี่ยมตามแกนที่สอดคล้องกัน 29ตัวอย่างด้านล่างเป็นได้จัดขึ้นเป็นเกลียวไปได้ครึ่งทาง สมมติว่าเราใช้เวลาสี่ตัวละครของเราเป็นตัวแทนu / d / l / r up / down / left / rightจากนั้นuในฐานะอินพุตเราจะส่งออก0, 5, 1, 4 ...(แกน y บวก) จนถึงnเทอมที่ หากเราได้รับlเป็นข้อมูลแทนแล้วมันจะ0, 3, 1, 1 ...ขึ้นอยู่กับnเทอมนั้น 2---3---2---4---2---5---2 | | 2 1---3---1---4---1 6 | | | | 2 2 …

1
หลบหนีจากผ้าใบกันน้ำ (ตำรวจ)
มันคือ ตำรวจและโจร ความท้าทายจากการนิยามภาษาและการพิสูจน์ว่าทัวริงสมบูรณ์ นี่คือด้ายของตำรวจ ด้ายโจรอยู่ที่นี่ ตำรวจ ในฐานะตำรวจคุณจะเตรียมสองสิ่ง: สเปคอย่างเป็นทางการของภาษาการเขียนโปรแกรมหรือระบบการคำนวณอื่น ๆ (ระบบการคำนวณมีการกำหนดไว้ด้านล่าง) หลักฐานที่แสดงว่าระบบของคุณกำลังทัวริงสมบูรณ์ตามคำจำกัดความที่เข้มงวดด้านล่าง คุณจะโพสต์สเปคของภาษาของคุณและโจรจะพยายาม "ถอดรหัส" โดยการพิสูจน์ความสมบูรณ์ของทัวริง หากการส่งของคุณไม่แตกภายในหนึ่งสัปดาห์คุณสามารถทำเครื่องหมายว่าปลอดภัยและโพสต์หลักฐานของคุณ (คำตอบของคุณอาจถูกยกเลิกหากมีคนพบข้อบกพร่องในหลักฐานของคุณเว้นแต่คุณจะแก้ไขได้) มันคือ ความนิยมประกวดดังนั้นผู้ชนะจะเป็นคำตอบที่มีคะแนนโหวตมากที่สุดและไม่แตกหรือเป็นโมฆะ ความท้าทายคือปลายเปิด - ฉันจะไม่ยอมรับคำตอบ เพื่อความท้าทายนี้ระบบการคำนวณจะถูกกำหนดเป็นสี่สิ่ง: A P"ชุดโปรแกรม" นี่จะเป็นชุดที่ไม่มีที่สิ้นสุดนับได้เช่นสตริงจำนวนเต็มต้นไม้ไบนารีการกำหนดค่าพิกเซลบนกริดเป็นต้น (แต่ดูข้อ จำกัด ทางเทคนิคด้านล่าง) "ชุดอินพุต" Iซึ่งจะเป็นชุดที่ไม่มีที่สิ้นสุดนับไม่ได้และไม่จำเป็นต้องเป็นชุดเดียวกันกับP(แม้ว่าจะเป็น) "ชุดเอาต์พุต" Oซึ่งในทำนองเดียวกันจะเป็นชุดที่ไม่มีที่สิ้นสุดนับและอาจหรืออาจจะไม่เหมือนPหรือI กำหนดขั้นตอนกลไกสำหรับการผลิตออกoจากโปรแกรมpและใส่iที่p, iและoเป็นสมาชิกของP, IและOตามลำดับ ขั้นตอนนี้ควรเป็นไปตามหลักการสามารถนำไปใช้กับเครื่องทัวริงหรือแบบจำลองนามธรรมอื่น ๆ ของการคำนวณ แน่นอนว่ากระบวนการอาจไม่สามารถหยุดได้ทั้งนี้ขึ้นอยู่กับโปรแกรมและอินพุตของโปรแกรม ชุดP, IและOจะต้องเป็นเช่นที่คุณสามารถแสดงให้พวกเขาเป็นสตริงในลักษณะที่คำนวณ (สำหรับตัวเลือกที่เหมาะสมที่สุดสิ่งนี้จะไม่สำคัญกฎนี้มีอยู่เพื่อป้องกันคุณจากการเลือกชุดแปลก ๆ เช่นชุดของเครื่องจักรทัวริงที่ไม่หยุด) ทัวริงสมบูรณ์จะถูกกำหนดดังต่อไปนี้: สำหรับฟังก์ชั่นบางส่วนที่คำนวณได้fจากIถึงOมีโปรแกรมpในPลักษณะที่กำหนดpและอินพุตiเอาต์พุตคือf(i)ถ้าf(i)มีค่า (มิฉะนั้นโปรแกรมจะไม่หยุดทำงาน) คำว่า "คำนวณ" ในคำนิยามข้างต้นหมายถึง …

1
+ - ปัญหาเครื่องหลัง
กำหนดชุดของรายการแต่ละรายการที่มีน้ำหนักและค่ากำหนดจำนวนของแต่ละรายการเพื่อรวมไว้ในคอลเลกชันเพื่อให้น้ำหนักรวมน้อยกว่าหรือเท่ากับขีด จำกัด ที่กำหนดและมูลค่ารวมมีขนาดใหญ่ที่สุด Wikipedia สำหรับข้อมูลเพิ่มเติม ตัวอย่างเช่นคุณสามารถรับน้ำหนักสูงสุด 15 และวัตถุที่มีค่า / มวลเป็น[5,2], [7,4] [1,1]และคุณจะออก[7,0,1]ซึ่งเป็น[5 <value>, 2 <mass>]วัตถุ7 และ 1 [1 <value>, 1 <mass>]วัตถุสำหรับคะแนน 36 กฎระเบียบ สามารถป้อนข้อมูลในรูปแบบที่เหมาะสม เอาท์พุทเป็นรูปแบบที่ยืดหยุ่น คุณไม่สามารถใช้ไลบรารีที่ไม่ได้มาตรฐาน หากคุณต้องติดตั้งหรือดาวน์โหลดไลบรารีใด ๆ เพื่อใช้แยกต่างหากจากการตั้งค่าเริ่มต้นจะไม่ได้รับอนุญาต วัตถุอาจมีมวลและค่าลบ (เช่น -1, -1) ต้องการคำตอบที่เหมาะสมที่สุด การชนะ รหัสที่สั้นที่สุดชนะ มวลเชิงลบและคุณค่า นี่เป็นส่วนสำคัญของความท้าทายนี้ ให้บอกว่าคุณมีวัตถุที่มีไอเท็ม (มวล, ค่า) เช่น[4,3],[-1,-1]และกระเป๋าที่มีความจุ 15 คุณสามารถใส่ 3 ของชิ้นแรกและคะแนน 9 หรือใส่ 4 ของชิ้นแรกและหนึ่งใน …

4
นับจำนวนวิธีในการวางลูกบอลลงในถังขยะ
ในภารกิจนี้คุณจะได้รับลูกบอลสีขาวจำนวนคี่และลูกบอลสีดำจำนวนเดียวกัน ภารกิจคือการนับวิธีการทั้งหมดของการวางลูกบอลลงในถังขยะเพื่อให้ในแต่ละถังขยะมีจำนวนคี่ของแต่ละสี ตัวอย่างเช่นสมมติว่าเรามีลูกบอลสีขาว 3 ลูก วิธีที่แตกต่างคือ: (wwwbbb) (wb)(wb)(wb) สำหรับสองโอกาสที่แตกต่างกัน หากเรามีลูกบอลสีขาว 5 ลูกวิธีที่ต่างกันคือ: (wwwwwbbbbb) (wwwbbb)(wb)(wb) (wwwb)(wbbb)(wb) (wb)(wb)(wb)(wb)(wb) คุณสามารถรับอินพุตซึ่งเป็นจำนวนเต็มเดียวในแบบที่คุณต้องการ ผลลัพธ์เป็นเพียงจำนวนเต็มเดียว รหัสของคุณจะต้องเร็วพอเพื่อให้คุณเห็นรหัสสีขาว 11 ลูก คุณสามารถใช้ภาษาหรือไลบรารีที่คุณต้องการ

3
การจำลองรถพัง
บทนำ ฉันมีรถ ASCII บางคันที่มีความเร็วและทิศทาง ความเร็วของพวกเขาถูกแทนด้วยจำนวนของพวกเขา หากรถอยู่ในสถานะ<>หยุดทำงาน ตัวอย่างเช่น: <> 1> 2> 3> หลังจากนั้นหนึ่งวินาทีฉันได้ <> 1> 2> 3> หลังจากนั้นสองฉันได้รับ <> 1> 2> 3> หากรถสองคันอยู่ใกล้เกินไปพวกเขาก็ชนกัน 1> <1 1> <2 หลังจากวินาทีนี้จะกลายเป็น ### ## หากรถสองคันตัดกันพวกเขาจะกลายเป็นแฮชแท็ก หากรถคันใดคันหนึ่งเร็วพอที่จะ 'กระโดด' เหนือรถคันอื่นมันจะไม่ส่งผลให้รถชนกัน 3><1 2><1 4><> กลายเป็น <13> ### <>4> หากรถออกนอกหน้าจอมันจะหายไป (นอกเสียจากว่ามีข้อขัดข้อง) ไม่มีทางที่รถจะออกนอกหน้าจอได้ <11> <1 1> 1 1> 1> ท้าทาย …

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