คำถามติดแท็ก code-golf

Code-golf เป็นการแข่งขันเพื่อแก้ไขปัญหาเฉพาะในส่วนที่น้อยที่สุดของซอร์สโค้ด

9
ในเรื่องของรหัสผ่าน
ในKeep Talking and Nobody Explodesผู้เล่นจะได้รับมอบหมายให้ปลดชนวนระเบิดตามข้อมูลจาก "ผู้เชี่ยวชาญ" ของพวกเขา (คนอื่น ๆ ที่มีคู่มือ) การวางระเบิดแต่ละครั้งประกอบด้วยโมดูลซึ่งหนึ่งในนั้นอาจเป็นรหัสผ่านซึ่งผู้เชี่ยวชาญจะได้รับรายการรหัสผ่านที่เป็นไปได้นี้มีความยาวห้าตัวอักษร: about after again below could every first found great house large learn never other place plant point right small sound spell still study their there these thing think three water where which world would write และผู้เล่นจะได้รับรายชื่อตัวอักษรที่เป็นไปได้ 6 ตัวสำหรับแต่ละสถานที่ในรหัสผ่าน เมื่อได้รับการผสมผสานตัวอักษรที่เป็นไปได้ส่งออกรหัสผ่านที่ถูกต้อง …
10 code-golf 

1
มันจะลอยหรือไม่
ความท้าทาย รับสาย 2d ที่แสดงด้านล่างของเรือเป็นอินพุตคุณต้องพิจารณาว่าเรือจะลอยหรือไม่ สตริง 2D นี้สามารถอยู่ในรูปแบบใดก็ได้ที่สะดวกที่สุด (สตริงที่มีการขึ้นบรรทัดใหม่รายการของสตริงรายการของตัวอักษร ฯลฯ ) พิมพ์ค่าจริงถ้ามันจะลอยและค่าเท็จถ้ามันจะจม เรือจะหงายท้องถ้าก้นมีความหนาแน่นไม่คงที่ดังนั้นตัวละครทุกตัวจะต้องเหมือนกัน นอกจากนี้ถ้าเรือมีรูขนาดใหญ่แสดงด้วยช่องว่างมันจะจมดังนั้นเรือของคุณจะต้องไม่มีรูที่มีพื้นที่มากกว่า 4 นี่คือตัวอย่าง: ######## # #### ######## # ## ## # ##### ######## เรือลำนี้ใช้ได้เพราะหลุมที่ใหญ่ที่สุดในนั้นมีพื้นที่ 4 เรือนี้: ######## ######## # ## # ##### ######## ไม่ถูกต้องเนื่องจากมีรูที่มีพื้นที่ 7 คุณสามารถสันนิษฐานได้อย่างปลอดภัยว่าภายนอกของอินพุตทุกอันจะเป็นรูปสี่เหลี่ยมผืนผ้าที่มั่นคงโดยไม่มีรู นี่คือการทดสอบเพิ่มเติม: $$$$$$$$ ***$$$$$ ***$$$$$ ***$$$$$ $$$$$$$$ Invalid density. Sink. %%%%%%%% % % …

2
นี่เป็นการเชื่อมโยงที่เป็นเอกลักษณ์หรือไม่?
ในความท้าทายนี้เกี่ยวกับรหัสคำนำหน้าเราได้เรียนรู้ว่ารหัสคำนำหน้านั้นสามารถต่อกันได้อย่างมีเอกลักษณ์ นั่นหมายความว่าพวกเขาสามารถรวมตัวกันได้โดยไม่ต้องมีตัวคั่นและไม่มีความกำกวม ตัวอย่างเช่นเนื่องจาก [1,2,45] เป็นรหัสนำหน้าฉันสามารถเข้าร่วมได้โดยไม่ต้องมีตัวคั่นดังนี้: 1245245112145 และจะไม่มีความคลุมเครือ อย่างไรก็ตามการสนทนาไม่เป็นความจริงเสมอไป ตัวอย่างเช่น [3,34] ไม่ใช่รหัสนำหน้า อย่างไรก็ตามฉันสามารถทำเช่นเดียวกัน: 3333434334333 และจะไม่มีความกำกวม คุณจะต้องมีเครื่องมือแยกวิเคราะห์ที่ชาญฉลาด อย่างไรก็ตาม [1,11] นั้นไม่สามารถต่อเนื่องกันได้เนื่องจาก 1111 สามารถตีความได้ 5 วิธี เป้าหมาย งานของคุณคือการเขียนโปรแกรม / ฟังก์ชั่นที่ใช้รายการของสตริง (ASCII) เป็นอินพุตและตรวจสอบว่าพวกเขาจะเข้ากันไม่ซ้ำกัน รายละเอียด การทำซ้ำนับเป็นเท็จ เกณฑ์การให้คะแนน นี่คือรหัสกอล์ฟ ทางออกที่สั้นที่สุดในหน่วยไบต์ชนะ Testcases จริง: [12,21,112] [12,112,1112] [3,4,35] [2,3,352] เท็จ: [1,1] [1,2,112] [1,23,4,12,34] [1,2,35,4,123,58,8]
10 code-golf 

8
กอล์ฟอัลกอริทึม K- หมายถึง
K- mean เป็นอัลกอริทึมการจัดกลุ่มแบบไม่ได้รับการจัดการมาตรฐานซึ่งกำหนดชุดของ "คะแนน" และกลุ่มของ K จำนวนหนึ่งจะกำหนด "จุด" แต่ละจุดให้กับหนึ่งในกลุ่ม K Pseudo-Code ของ K-mean โปรดทราบว่า K-Mean มีหลากหลายรูปแบบ คุณต้องใช้อัลกอริทึมที่ฉันอธิบายด้านล่าง คุณอาจมีการเปลี่ยนแปลงบางอย่างเกี่ยวกับอัลกอริทึมหรือใช้บิวด์อินตราบเท่าที่คุณจะได้รับผลลัพธ์เช่นเดียวกับอัลกอริทึมนี้ที่ให้คะแนนเริ่มต้นเหมือนกัน ในการท้าทายนี้อินพุตทั้งหมดจะเป็นจุดบนระนาบ 2D (แต่ละจุดจะถูกแทนด้วยพิกัดใน x และ y) Inputs: K, the number of clusters P, the set of points Choose K points of P uniformly at random Each chosen point is the initial centroid …

1
รูปนี้มีกี่รูปร่าง?
เด็กดีมากในการจำแนกวัตถุและนับพวกเขา คอมพิวเตอร์ดูเหมือนจะมีปัญหามากกว่า นี่เป็นเวอร์ชันที่ง่ายของปัญหานี้ คุณสามารถเขียนโปรแกรมขนาดเล็กที่สามารถจำแนกและนับจำนวนวัตถุในภาพได้หรือไม่? ปัญหา: กำหนดรูปภาพที่มีวงกลมและสี่เหลี่ยมหนึ่งวงกลมขึ้นไปส่งคืนจำนวนเต็ม 2 จำนวนด้วยการนับวงกลมและจำนวนสี่เหลี่ยม กฎระเบียบ ภาพอินพุตจะเป็นตัวเลขสีดำบนพื้นหลังสีขาวในรูปแบบบิตแมปใด ๆ ที่คุณเลือก ความกว้างและความสูงของภาพจะอยู่ระหว่าง 100 ถึง 1,000 พิกเซล รูปภาพจะถูกเก็บไว้ในรูปภาพ ตัวเลขจะมีความกว้าง 1 พิกเซล รูปภาพจะไม่ใช้การลบรอยหยัก พวกเขาจะเป็นสีดำบนพื้นขาวเท่านั้น ตัวเลขอาจสัมผัสตัดกันหรืออยู่ในรูปอื่น ตัวเลขที่ตัดกันจะมีพิกเซลทั่วไปสูงสุด 4 พิกเซล แวดวงจะมีขนาดเส้นผ่าศูนย์กลาง 20 พิกเซลขึ้นไป ด้านสี่เหลี่ยมผืนผ้าจะมีความยาว 10 พิกเซลขึ้นไป คุณไม่สามารถใช้บิวด์อินหรือไลบรารี่ที่จดจำรูปร่างหรือฟังก์ชั่นอื่นใดที่ทำให้ความท้าทายนี้เป็นเรื่องเล็กน้อย ส่งคืนหรือพิมพ์จำนวนเต็ม 2 จำนวนด้วยการนับวงกลมและสี่เหลี่ยม ตัวอย่างที่ 1 คำตอบ: 3 4 ตัวอย่างที่ 2: คำตอบ: 4 13 นี่เป็นความท้าทายของรหัสกอล์ฟดังนั้นโปรแกรมหรือฟังก์ชั่นที่สั้นที่สุดในแต่ละภาษาจะเป็นผู้ชนะ

3
วาดลูกบาศก์ง่ายๆ
เราไม่ได้มีความท้าทายเดียวเกี่ยวกับการวาดลูกบาศก์ 3 มิติที่แท้จริงดังนั้นที่นี่จะไป: ท้าทาย งานของคุณคือการวาดลูกบาศก์หมุนด้วยมุมมอง สามารถอยู่ในหน้าต่างแยกต่างหากหรือเป็นภาพ อินพุต ข้อมูลที่คุณป้อนเป็นตัวเลข 3 หมายเลขที่แยกกันระหว่าง 0 ถึง 359.99 ... สิ่งเหล่านี้แสดงถึงการหมุนรอบแกน x, y และ z ในหน่วยองศา 0 0 0 30 0 40 95 320 12 เอาท์พุต คุณสามารถแสดงในหน้าต่างแยกต่างหากหรือบันทึกรูปภาพ คุณสามารถใช้การแสดงผลทุกประเภท (แบบเวกเตอร์, แบบแรสเตอร์, ฯลฯ ) แก้ไข: อนุญาตให้ใช้ ASCII ได้เช่นกันเพื่ออนุญาตให้ใช้ภาษาการเล่นกอล์ฟที่มีเอาต์พุตแบบข้อความเท่านั้น เอาต์พุตสำหรับกราฟิกแรสเตอร์หรือ ASCII ต้องมีอย่างน้อย 50 * 50 (พิกเซลสำหรับการแรสเตอร์และอักขระสำหรับ ASCII) ข้อมูลเพิ่มเติม แกน …

4
บอร์ด Solitaire Mancala ที่ได้รับรางวัล
Mancalaเป็นชื่อของครอบครัวของเกมกระดานที่มักจะเกี่ยวข้องกับชุดถ้วยที่เต็มไปด้วยเม็ดที่ผู้เล่นจัดการ ความท้าทายนี้จะใช้กฎเฉพาะที่กำหนดไว้สำหรับชุดตัวเลือกเล่นไพ่คนเดียวของเกม กระดานประกอบด้วย "ตะกร้า" ที่ปลายด้านหนึ่งแล้วตามด้วยจำนวนถ้วยนับไม่ถ้วนเริ่มต้นจาก 1 ถ้วยบางถ้วยจะมีเม็ดประคำอยู่จำนวนหนึ่ง หากnถ้วยที่สามมีnเม็ดบีดอยู่ตรงนั้นคุณอาจ "หว่าน" เม็ดบีดจากมัน การหว่านหมายถึงการนำnลูกปัดทั้งหมดออกจากถ้วยแล้วนำไปใส่ครั้งละหนึ่งถ้วยในตะกร้า ลูกปัดสุดท้ายจะเข้าสู่ตะกร้า ผู้เล่นชนะเมื่อทุกเม็ดบนกระดานอยู่ในตะกร้า เห็นได้ชัดว่ามีหลายบอร์ดที่ไม่สามารถเอาชนะได้เช่นถ้ามีลูกปัดหนึ่งเม็ดในถ้วยที่สอง ไม่มีการเล่นที่ถูกกฎหมายเพราะถ้วยทั้งหมดที่มี 0 เม็ดไม่สามารถหว่านได้และถ้วยที่สองไม่มีเม็ดพอที่จะหว่าน เห็นได้ชัดว่ามันไม่สนุกดังนั้นงานของคุณคือการสร้างกระดานที่มีชัย งาน กำหนดจำนวนเต็มบวกแทนจำนวนของลูกปัดออกรายการของจำนวนเต็มไม่ลบแสดงจำนวนลูกปัดที่ควรใส่ในแต่ละถ้วยเพื่อให้คณะกรรมการมีชัยตามที่อธิบายไว้ข้างต้น รายการนี้ไม่ควรมีศูนย์ใด ๆ ต่อท้าย สำหรับเม็ดบีดที่กำหนดจำนวนใด ๆ จะมีการกำหนดค่าบอร์ดที่ชนะได้หนึ่งชุดเสมอ สาธิต นี่คือการสาธิตวิธีการเล่นกระดานชัยและใส่ของ 4. [0, 1, 3]คณะกรรมการมีชัยคือ [1, 2, 0]เราเริ่มต้นด้วยการย้ายที่ใช้ได้เฉพาะหว่านเม็ดจากถ้วยที่สามที่จะได้รับ ตอนนี้เรามีทางเลือกจริง [0, 2, 0]แต่ถูกต้องเพียงหนึ่งคือการหว่านเมล็ดถ้วยแรกที่ได้รับ: จากนั้นเราหว่านถ้วยที่สองที่ให้ผลผลิต[1, 0, 0]และในที่สุดเราก็หว่านถ้วยแรกอีกครั้งเพื่อให้ได้ถ้วยเปล่าทั้งหมด กรณีทดสอบ: 1 => [1] 2 => [0, 2] …

3
420 <s> Blaze </s> เล่นกอล์ฟ
นี่เป็นความท้าทายที่ค่อนข้างง่าย แต่ (ฉันหวังว่า) ความสนุก งาน หากตอนนี้ทั้งเดือนคือ4และวันที่เป็น20ชั่วโมง (ในนาฬิกา 12 ชั่วโมง) คือ4และนาที20หรือหรือนาที4และวินาทีและคือ20พิมพ์ศิลปะ ascii นี้: . .:. :|: .:|:. ::|:: :. ::|:: .: :|:. .::|::. .:|: ::|:. :::|::: .:|:; `::|:. :::|::: .:|::' ::|::. :::|::: .::|:; `::|::. :::|::: .::|::' :::|::. :::|::: .::|::; `:::|::. :::|::: .::|::;' `::. `:::|::. :::|::: .::|::;' .:;' `:::.. `;::|::. :::|::: .::|::: …

5
การสั่งซื้อคำให้พอดีกับสตริงที่กำหนด
กำหนดสตริงตัวอักษรและชุดคำเอาท์พุทการเรียงลำดับของคำเพื่อให้พวกเขาสามารถพบได้ในสตริงโดยวางตัวอักษรที่ไม่จำเป็น คำอาจเกิดขึ้นมากกว่าหนึ่งครั้งในชุดคำ สตริงอินพุตและคำทั้งหมดจะประกอบด้วยตัวอักษรตัวพิมพ์เล็ก 1 ถึง 1,000 ตัว ตัวอักษรที่จะถูกปล่อยอาจเกิดขึ้นภายในคำหรือระหว่างคำ โปรแกรมหรือฟังก์ชั่นของคุณสามารถยอมรับสตริงตัวอักษรและคำเป็นรายการสตริงหรือจาก STDIN และต้องส่งออกคำทั้งหมดในลำดับที่ถูกต้องเป็นรายการหรือเอาท์พุทสตริง หากมีโซลูชันที่ถูกต้องมากกว่าหนึ่งรายการให้ส่งออกหนึ่งรายการเท่านั้น หากไม่มีวิธีที่ถูกต้องที่เป็นไปได้ให้ส่งออกรายการว่างหรือสตริงว่าง ตัวอย่าง: dogcatfrog cat frog dog -&gt; dog cat frog xxcatfixsxhingonxgrapexxxfishingcxat cat grape catfish fishing -&gt; catfish grape fishing cat dababbabadbaccbcbaaacdacdbdd aa bb cc dd ba ba ba ab ac da db dc -&gt; da ab ba ba …
10 code-golf  string 

7
สร้างยิมออกกำลังกายของคุณเองและติดตามไปตาม irl
เรามาออกกำลังกายด้วยกันใช่ไหม เพียงแค่ติดตามการเคลื่อนไหวของ stickman คุณถามอะไร stickman คนที่เรากำลังจะสร้าง! สร้างโปรแกรมที่อนุญาตให้มีการป้อนสตริงเท่านั้นที่มีจำนวนเต็มและส่งออกตัวเลขเก้าตัวต่อไปนี้โดยมีช่วงเวลาระหว่าง: @ \@/ |@_ _@| @/ \@ |@| \@\ /@/ /|\ | | | | | | | | / \ / \ / \ / \ /|\ /|\ / \ / \ / \ 1 2 3 4 5 6 7 8 9 …

11
เขาจะใช้เวลาขั้นต่ำกี่วันในการทำงานให้เสร็จสมบูรณ์จำนวนหน่วย
บุคคลที่มีสมบูรณ์Nหน่วยของการทำงาน; ลักษณะของงานเหมือนกัน เพื่อที่จะได้รับการแขวนของการทำงานเขาเสร็จสิ้นเพียงหนึ่งหน่วยของการทำงานในวันแรก เขาปรารถนาที่จะฉลองความสำเร็จของการทำงานเขาจึงตัดสินใจที่จะเสร็จสมบูรณ์หน่วยหนึ่งของการทำงานในวันสุดท้าย เขาได้รับอนุญาตเท่านั้นที่จะเสร็จสมบูรณ์x, x+1หรือx-1หน่วยของการทำงานในแต่ละวันซึ่งxเป็นหน่วยงานที่ทำเสร็จเมื่อวันก่อน งานของคุณคือการสร้างโปรแกรมหรือฟังก์ชั่นที่จะคำนวณจำนวนวันขั้นต่ำที่เขาจะใช้ในNการทำงานให้เสร็จสมบูรณ์ ตัวอย่างอินพุตและ Ouput: input -&gt; output (corresponding work_per_day table) -1 -&gt; 0 [] 0 -&gt; 0 [] 2 -&gt; 2 [1,1] 3 -&gt; 3 [1,1,1] 5 -&gt; 4 [1,1,2,1] or [1,2,1,1] 9 -&gt; 5 [1,2,3,2,1] 13 -&gt; 7 [1,2,2,2,3,2,1] อินพุตอาจถูกนำมาผ่านSTDINหรือเป็นอาร์กิวเมนต์ของฟังก์ชันหรือด้วยวิธีการที่เหมาะสม ผลลัพธ์อาจถูกพิมพ์หรือเป็นผลลัพธ์ของฟังก์ชันหรือด้วยวิธีการที่เหมาะสม นี่คือรหัสกอล์ฟ ทางออกที่สั้นที่สุดชนะ

2
แบ่งพาร์ติชั่นรายการ!
ในความท้าทายนี้คุณจะต้องแบ่งพาร์ติชันรายการโดยที่พาร์ติชั่นมีขนาดสูงสุดขนาดขั้นต่ำและขนาดที่ต้องการ ฉันจะใช้สัญลักษณ์(min,pref,max) เพื่อระบุขนาดในการท้าทายนี้ สำหรับผู้ที่ไม่คุ้นเคยกับการแบ่งพาร์ติชันรายการต่อไปนี้ได้รับการแบ่งพาร์ติชันออกเป็น 3 ส่วน: [0..9] -&gt; [[0,1,2],[3,4,5],[6,7,8]] [0..10], (2,4,5) -&gt; [[0,1,2,3],[4,5,6],[7,8,9]]เมื่อรายการที่ไม่เท่ากันหารคุณต้องพาร์ทิชันที่จะใกล้เคียงกับขนาดที่ต้องการเป็นไปได้: การแบ่งพาร์ติชั่นนี้ทำได้ดีกว่า[[0,1,2,3],[4,5,6,7],[8,9]]แม้ว่าจะมีความยาวที่ต้องการมากกว่าก็ตาม อย่างเป็นทางการเราต้องลดผลรวมของ(partitionLength-preferredSize)^2แต่ละพาร์ติชันให้น้อยที่สุด ลำดับของความยาวพาร์ติชั่นไม่สำคัญ: สำหรับไม่ว่า[0..5], (2,3,3)จะเป็น[[0,1,2],[3,4]]หรือใช้[[0,1],[2,3,4]]งานได้ [0..7], (4,4,5) -&gt; []ถ้าพาร์ติชันไม่มีความเป็นไปได้กลับอาร์เรย์ที่ว่างเปล่า คุณสามารถสันนิษฐานได้ว่า1&lt;=min&lt;=pref&lt;=maxและอาร์เรย์ที่ส่งถึงคุณนั้นเป็นอาร์เรย์จำนวนเต็มที่ไม่ว่างเปล่า อาร์เรย์จะเป็นอาร์กิวเมนต์แรกเสมอ คุณสามารถยอมรับ min, max, และ pref ในลำดับใดก็ได้และเป็น tuple หรือเป็นอาร์กิวเมนต์ที่แยกกัน โปรแกรมของคุณต้องทำงานภายในไม่กี่วินาที โดยทั่วไปไม่อนุญาตให้วนซ้ำทุกขนาดพาร์ติชันที่เป็นไปได้ภายในขอบเขต กรณีทดสอบ: [1], (1,3,4) -&gt; [[1]] [100], (1,2,3) -&gt; [[100]] [1,2], (1,1,2) -&gt; [[1],[2]] [1,2], (1,2,2) -&gt; …

5
พิมพ์อาร์เรย์จากกึ่งกลาง
นี่คือคำถามที่รหัสกอล์ฟ รับจำนวนเต็ม s และ n งานคือการส่งออกอาร์เรย์ทั้งหมดของความยาว n ซึ่งรับค่าจาก -s ถึง s บิดเท่านั้นคือคุณต้องส่งออกตามลำดับต่อไปนี้ อาร์เรย์ศูนย์ทั้งหมดของความยาว n อาร์เรย์ที่มีความยาว n ทั้งหมดที่มีองค์ประกอบตั้งแต่ -1 ถึง 1 ไม่รวมอาร์เรย์ใด ๆ ที่คุณเคยแสดงผลมาก่อน อาร์เรย์ที่มีความยาวทั้งหมด n พร้อมองค์ประกอบตั้งแต่ -2 ถึง 2 ไม่รวมอาร์เรย์ใด ๆ ที่คุณได้แสดงผลมาก่อน และต่อไปจนกว่าคุณจะไปยังอาร์เรย์ที่มีความยาว n ทั้งหมดด้วยองค์ประกอบตั้งแต่ -s ถึง s โดยไม่รวมถึงอาร์เรย์ใด ๆ ที่คุณได้แสดงผลมาก่อน คุณควรส่งออกหนึ่งอาร์เรย์ต่อบรรทัด สามารถเว้นวรรคหรือคั่นด้วยเครื่องหมายจุลภาค นี่คือบางส่วนของรหัสหลามที่ไม่ปฏิบัติตามที่ส่งออกอาร์เรย์ / รายการ / สิ่งอันดับในลำดับที่ถูกต้อง import itertools …

1
กากบาทไม่มีความเป็นเอกซ์
ทุกคนตระหนักดีว่าTic Tac Toeเป็นเกมที่แก้ไขแล้ว อย่างไรก็ตามรุ่น X-X ของMisèreให้ทางเลือกที่น่าสนใจ ในเกมเวอร์ชั่นนี้ผู้เล่นทั้งสองเล่น Xs บนกระดานและพยายามหลีกเลี่ยงการสร้างสามแถวติดต่อกัน หากคุณต้องการดูเพิ่มเติมเกี่ยวกับเรื่องนี้Numberphileมีวิดีโอที่ดีเกี่ยวกับแนวคิดนี้ ให้บอร์ดของMisère Crosses เล่นท่าที่เหมาะสมที่สุด คณะกรรมการเป็นสามบรรทัดสามตัวอักษรแต่ละที่หรือX ดังนั้น: X X X XX เป็นคณะกรรมการที่ถูกต้อง คุณสามารถทำได้ในรูปแบบที่สะดวกใด ๆ ตราบใดที่อินพุตและเอาต์พุตของคุณใช้รูปแบบเดียวกัน รูปแบบรวมถึง (แต่ไม่ จำกัด เฉพาะ): สตริงแบบหลายบรรทัด (ขึ้นบรรทัดใหม่ที่เป็นตัวเลือก); อาร์เรย์ 2 มิติของตัวละครที่เป็นXหรือ; อาร์เรย์บูลีน 1D ที่แบนราบของค่าบูลีนที่เป็นตัวแทนของแต่ละตำแหน่งที่เล่น การย้ายที่ดีที่สุดคือสิ่งที่รับประกันว่าคุณจะชนะโดยการเล่นต่อไปอย่างเหมาะสมหรือยืดเวลาการสูญเสียของคุณให้นานที่สุดเท่าที่จะทำได้และถูกกำหนดโดยกฎต่อไปนี้: หลีกเลี่ยงการทำสามในแถว ถ้าคุณไปก่อนเล่นกลาง หากมีเพียงพื้นที่ว่างที่อยู่ตรงกลางให้เล่นในพื้นที่ว่างที่เหลืออยู่ หากไม่ได้ครอบครองจัตุรัสกลางและจัตุรัสด้านนอกให้เล่นตรงข้ามกับการเล่นครั้งสุดท้ายของฝ่ายตรงข้าม หากสแควร์กลางถูกครอบครองและสแควร์ด้านนอกคือเล่น "ย้ายอัศวิน" (ตรงข้ามมากกว่าหนึ่ง) ออกไปจากการย้ายก่อนหน้านี้ที่ไม่ทำให้คุณสูญเสีย หากไม่มีสี่เหลี่ยมที่เหลืออยู่ซึ่งคุณจะไม่แพ้ให้เล่นในสี่เหลี่ยมที่เหลือ [หมายเหตุ: สิ่งนี้ได้รับการพิสูจน์แล้วว่าไม่เหมาะสมในกรณีหนึ่งแต่คุณควรใช้อัลกอริทึมนี้ต่อไป] คุณอาจคิดว่าการเคลื่อนไหวก่อนหน้านี้ทั้งหมดของคุณนั้นดีที่สุด ดังนั้นบอร์ดตัวอย่างแรกไม่ใช่อินพุตที่ถูกต้อง การเคลื่อนไหวของคู่ต่อสู้ของคุณอาจจะเหมาะสมหรือไม่ก็ได้ …
10 code-golf  game 

7
ส่วนของตัวเลขโรมัน
เขียนโปรแกรมหรือฟังก์ชั่นที่รับจำนวนเต็มในช่วง 1..3999 เป็นอินพุตและส่งกลับจำนวนของส่วนของบรรทัดที่จำเป็นในการแสดงจำนวนเต็มนั้นในตัวเลขโรมันมาตรฐาน (ดังนั้นคุณจะใช้ XL แต่ไม่ใช่ VM) ตัวอย่าง: 1 -&gt; 1 4 -&gt; 3 5 -&gt; 2 9 -&gt; 3 10 -&gt; 2 40 -&gt; 4 50 -&gt; 2 90 -&gt; 3 100 -&gt; 1 400 -&gt; 3 500 -&gt; 2 900 -&gt; 5 1000 -&gt; 4 ตัวเลขโรมัน builtins แปลงจะได้รับอนุญาต …
10 code-golf 

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