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

ความท้าทายของรหัสคือการแข่งขันสำหรับวิธีสร้างสรรค์ในการแก้ปริศนาการเขียนโปรแกรมด้วยเกณฑ์การชนะอย่างมีเป้าหมายซึ่งไม่ครอบคลุมด้วยแท็กให้คะแนนอื่น ๆ (เช่นรหัส - กอล์ฟ)

1
การฉายรังสีทำให้เป็นวั
ท้าทาย เขียนสองโปรแกรมที่: รันในสองภาษาโปรแกรมที่แตกต่างกัน ภาษาเหล่านี้อาจไม่ใช่สองภาษา เมื่อมีการเรียกใช้โปรแกรมหนึ่งมันจะส่งออกโปรแกรมที่สองและในทางกลับกัน โปรแกรมทั้งสองจะต้องแตกต่างกัน (ไม่มีรูปหลายภาษา) นี่คือสิ่งที่จับได้ว่า: โปรแกรมจะต้องผ่านการชุบแข็งด้วยรังสี ซึ่งหมายความว่าเมื่อลบชุดอักขระnnn (กำหนดไว้ด้านล่าง) ออกจากโปรแกรมใดโปรแกรมหนึ่งจากสองโปรแกรมการทำงานของมันจะไม่ได้รับผลกระทบ nnnถูกกำหนดให้เป็นจำนวนอักขระที่อาจตัดออกจากการทำงานของโปรแกรมของคุณโดยไม่ได้รับผลกระทบ nnnต้องมีอย่างน้อย1111 กฎระเบียบ ช่องโหว่มาตรฐานไม่ได้รับอนุญาต โปรแกรมของคุณจะต้องเป็นวงจรที่เหมาะสม พวกเขาอาจไม่อ่านซอร์สโค้ดของตัวเอง การให้คะแนนจะดำเนินการดังนี้: S1+S2nS1+S2n\frac{S_1+S_2}n S1S1S_1S2S2S_2 nnn นี่คือรหัสที่ท้าทายคะแนนต่ำสุดชนะ รางวัล เนื่องจากความท้าทายนี้ยากที่จะตอบฉันจะให้รางวัลแก่คนแรกที่จะตอบ

5
มันเป็นแอนนาแกรมควินไม่ใช่แค่ควิน!
งาน ในความท้าทายนี้งานของคุณคือการเขียนโปรแกรมซึ่งไม่ต้องป้อนข้อมูลด้วยแอนนาแกรมที่มีจำนวนมากที่สุดเท่าที่จะทำได้ คะแนนของคุณจะเป็นจำนวนแอนนาแกรมของซอร์สโค้ดของโปรแกรมของคุณซึ่งเป็น quines ที่ถูกต้องหารด้วยจำนวนทั้งหมดของแอนนาแกรมที่เป็นไปได้เช่นเปอร์เซ็นต์ของแอนะล็อกที่เป็น quines ที่ถูกต้อง ช่องโหว่มาตรฐานและกฎของ quines มาตรฐานใช้ หมายเหตุ:โปรแกรมของคุณต้องมีอักขระอย่างน้อย 3 ตัว (ไม่ใช่ 3 ไบต์) อินพุต แต่ละแอนนาแกรม (หรือการเปลี่ยนแปลง) ของโปรแกรมของคุณซึ่งเป็นควินของตัวเอง (เช่นแอนนาแกรมที่คุณรวมอยู่ในคะแนนของคุณ) จะต้องไม่นำเข้าใด ๆ หากภาษาของคุณต้องการการป้อนข้อมูลตามความจำเป็นคุณสามารถสมมติได้ว่าโปรแกรมของคุณจะได้รับสตริงที่ประกอบด้วยตัวอักษรตัวเล็ก A อย่างไรก็ตามคุณจะต้องไม่ใช้ข้อมูลใด ๆ เอาท์พุต nจำนวนแอนนาแกรมที่แตกต่างกันของซอร์สโค้ดของโปรแกรมของคุณจะต้องเป็น quines ที่ถูกต้องโดยnแสดงถึงจำนวนของแอนนาแกรมที่คุณรวมอยู่ในคะแนนของคุณเช่น quine-anagarams เหล่านั้นสามารถส่งออกในทางใดทางหนึ่งยกเว้นการเขียนผลลัพธ์ไปยังตัวแปร อนุญาตให้เขียนไฟล์คอนโซลหน้าจอและอื่น ๆ ได้ ฟังก์ชั่นreturnได้รับอนุญาตเช่นกัน ตัวอย่างการให้คะแนน codeสมมติว่ารหัสที่มาของโปรแกรมคือ และ, codecodeเอาท์พุท coedcoedเอาท์พุท cdoecdoeเอาท์พุท cdeocdeoเอาท์พุท cedocedoเอาท์พุท ceodceodเอาท์พุท ocdeocdeเอาท์พุท ocedocedเอาท์พุท odceodceเอาท์พุท odecไม่ส่งออกodecหรือสร้างข้อผิดพลาด …

6
ตัวเลขที่เป็น palindromes ใน N base
ได้รับจำนวนเต็มไม่เป็นลบn >= 0ออกไปตลอดกาลลำดับเลขx_i >= 3ที่มี palindromes ในตรงnฐานที่แตกต่างกันที่ฐานที่สามารถb2 <= b <= x_i-2 นี้เป็นพื้นผกผันของOEIS A126071nที่คุณส่งออกที่ดัชนีอยู่ในลำดับที่มีค่า มันแตกต่างกันเล็กน้อยเพราะฉันเปลี่ยนดังนั้นคุณจึงไม่สนใจเบสb = x_i-1, x_i, x_i+1เนื่องจากผลลัพธ์สำหรับเบสเหล่านั้นมักจะเหมือนเดิมเสมอ นอกจากนี้การชดเชยจะแตกต่างกัน x_iจะมีการ จำกัด จำนวน>= 3เพื่อให้ระยะแรกของผลสำหรับแต่ละnคือA037183 โปรดทราบว่ารูปแบบผลลัพธ์มีความยืดหยุ่น แต่ตัวเลขควรคั่นด้วยวิธีที่ดี ตัวอย่าง: n seq 0 3 4 6 11 19 47 53 79 103 137 139 149 163 167 ... 1 5 7 8 9 12 …
10 code-golf  sequence  base-conversion  palindrome  code-golf  array-manipulation  matrix  code-golf  string  ascii-art  code-golf  ascii-art  physics  code-golf  number  sequence  fibonacci  code-golf  ascii-art  packing  code-golf  string  hexadecimal  code-challenge  restricted-source  decision-problem  binary  code-golf  code-golf  code-golf  stack-exchange-api  code-golf  string  parsing  generation  data-structures  code-golf  kolmogorov-complexity  graphical-output  code-golf  array-manipulation  integer  generation  data-structures  code-golf  number  random  probability-theory  king-of-the-hill  java  minesweeper  code-golf  string  kolmogorov-complexity  animation  code-golf  string  code-golf  code-golf  quine  code-golf  internet  code-golf  arithmetic  base-conversion 

1
แบ่งอาร์เรย์และโปรแกรมในครึ่ง
บทนำ คุณได้รับมอบหมายให้เขียนโปรแกรมที่แบ่งอาร์เรย์จำนวนเต็มสี่เหลี่ยมเท่า ๆ กันครึ่งหนึ่ง (ไม่ว่าด้วยเหตุผลใดก็ตาม) งานนี้มีการคำนวณอย่างเข้มข้น แต่โชคดีที่คุณมีเครื่องดูอัลคอร์เพื่อทำการคำนวณ เพื่อให้ได้ประโยชน์สูงสุดจากการขนานคุณตัดสินใจที่จะแบ่งโปรแกรมเท่า ๆ กันครึ่งหนึ่งแล้วปล่อยให้แต่ละคอร์รันส่วนใดส่วนหนึ่งโดยไม่ขึ้นต่อกัน อินพุตและเอาต์พุต ข้อมูลของคุณเป็นอาร์เรย์ 2 มิติรูปสี่เหลี่ยมผืนผ้าของจำนวนเต็มที่ไม่ใช่ค่าลบอย่างน้อย1 × 1ซึ่งถ่ายในรูปแบบที่เหมาะสม การแบ่งอาเรย์ดังกล่าวทำได้โดยการแบ่งแต่ละแถวในแนวนอนเป็นส่วนนำหน้าและคำต่อท้าย (ซึ่งอาจว่างเปล่า) เพื่อให้การแยกถูกต้องสองแถวที่อยู่ติดกันจะต้องถูกแยกที่ดัชนีเดียวกันหรือดัชนีที่อยู่ติดกัน ตัวอย่างเช่นพิจารณาอาร์เรย์ 2 4 5 5 6 3 9 7 1 7 7 0 0 0 3 6 7 8 1 2 4 7 6 1 6 6 8 2 0 0 …

7
สร้างเมทริกซ์ของจาโคเบียน
ใช้เวกเตอร์ของราชวงศ์และใช้บางฟังก์ชั่นอนุพันธ์ทั่วไป จาโคเบียนจะได้รับแล้วโดยเมทริกซ์ดังกล่าวว่า: ตัวอย่างเช่นสมมติว่าและm=3 n=2จากนั้น (ใช้การจัดทำดัชนีตาม 0) ในขณะนั้นชาวโคเบียนfนั้น เป้าหมายของการท้าทายนี้คือการพิมพ์เมทริกซ์จาโคเบียนนี้ อินพุต โปรแกรม / ฟังก์ชั่นของคุณควรรับข้อมูลเป็นจำนวนเต็มบวกจำนวนเต็มสองตัวmและnแสดงจำนวนส่วนประกอบของfและuตามลำดับ อินพุตอาจมาจากแหล่งที่ต้องการ (stdio, function function, ฯลฯ ) คุณอาจกำหนดลำดับที่ได้รับสิ่งเหล่านี้และสิ่งนี้จะต้องสอดคล้องกับคำตอบของคุณ (โปรดระบุในคำตอบของคุณ) เอาท์พุต สิ่งที่แสดงถึงเมทริกซ์ของจาโคเบียน การเป็นตัวแทนนี้จะต้องสะกดองค์ประกอบทั้งหมดของเมทริกซ์ของจาโคเบียนอย่างชัดเจน แต่รูปแบบที่แน่นอนของแต่ละคำจะถูกนำไปปฏิบัติตราบใดที่ไม่มีความชัดเจนในสิ่งที่สร้างความแตกต่างและด้วยความเคารพต่อสิ่งต่างๆ ตัวอย่างแบบฟอร์มที่ยอมรับได้สำหรับการแทนเมทริกซ์: รายการของรายการที่แต่ละรายการของรายการด้านนอกสอดคล้องกับแถวของ Jacobian และแต่ละรายการของรายการภายในสอดคล้องกับคอลัมน์ของ Jacobian สตริงหรือเอาต์พุตข้อความที่แต่ละบรรทัดเป็นแถวของ Jacobian และแต่ละตัวคั่นคั่นรายการในบรรทัดสอดคล้องกับคอลัมน์ของ jacobian การแสดงกราฟิก / ภาพบางส่วนของเมทริกซ์ ตัวอย่าง: สิ่งที่แสดงโดย Mathematica เมื่อใช้MatrixFormคำสั่ง วัตถุเมทริกซ์หนาแน่นอื่น ๆ ที่ทุกรายการถูกเก็บไว้ในหน่วยความจำแล้วและสามารถสอบถามได้ (เช่นคุณไม่สามารถใช้วัตถุเครื่องกำเนิดไฟฟ้า) ตัวอย่างจะเป็นวิธีที่ Mathematica แสดงถึงวัตถุเมทริกซ์ภายใน ตัวอย่างรูปแบบรายการ: สตริงของฟอร์มd f_i/d …

4
ค้นหาวิธีที่สั้นที่สุดเพื่อเลื่อนเคาน์เตอร์ไปยังหมายเลขที่กำหนด
ฉันมีเคาน์เตอร์ เป็นอุปกรณ์ขนาดเล็กที่มีลักษณะดังนี้: การแสดงผลไปจากการ0000 9999มีปุ่มกดเล็ก ๆ ที่ด้านบนที่เพิ่มการนับ 1 และลูกบิดเล็ก ๆ ด้านขวาซึ่งมีจุดประสงค์เพื่อรีเซ็ตตัวนับกลับเป็น 0 ตอนนี้สิ่งที่เกี่ยวกับปุ่มเล็ก ๆ คือถ้าคุณหมุนไปข้างหลังคุณสามารถเพิ่มตัวเลขใด ๆ ที่คุณต้องการได้เมื่อคุณหมุนมันไปข้างหน้าอีกครั้ง ดังนั้นถ้าฉันกดปุ่มนับ 10 ครั้งเพื่อให้การแสดงที่เคาน์เตอร์0010ผมแล้วสามารถเปิดย้อนกลับลูกบิดจนกว่าฉันจะได้ยินเสียงคลิกเล็ก ๆ 0090แล้วเปิดไปข้างหน้าอีกครั้งและทำให้มันตรงไปที่ แต่ลูกบิดจะเพิ่มตัวเลขที่เกิดขึ้นทั้งหมด 1 เสมอทุกครั้งที่ผลักตัวเลขไปข้างหน้า ดังนั้นหากการแสดงที่เคาน์เตอร์6060คุณสามารถทำให้มันเพิ่มขึ้นเป็น7070ไม่หรือ6070 7060นอกจากนี้ลูกบิดจะม้วน9s ไป0โดยไม่ดำเนินการดังนั้น0990จะเลื่อนไป0000แทนหรือ10001100 ฉันต้องการทราบวิธีที่มีประสิทธิภาพที่สุดในการตั้งค่าตัวนับเป็นตัวเลขที่แน่นอน งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่จะกำหนดลำดับที่สั้นที่สุดของการกดปุ่มและความก้าวหน้าของปุ่มที่จำเป็นในการทำเช่นนั้น โปรแกรมของคุณจะป้อนตัวเลข 4 หลักจาก0000ถึง9999และส่งคืนชุดของขั้นตอนในรูปแบบต่อไปนี้: > 0001 C > 0093 C12345678C12345678CCC > 1000 C12345678C12345678C12345678C12345678C12345678C12345678C12345678C > 9999 012345678 โดยที่Cสำหรับ "กดปุ่มตัวนับ" และตัวเลขใด ๆDจาก 0 ถึง …

5
เส้นทางของแผนที่ที่ถูกเนรเทศ
คำถามนี้จะมีกลไกจากเกม "Path Of Exile" ในเกมนี้มีสิ่งที่เรียกว่าMAPSพวกเขาเป็นไอเท็มที่คุณสามารถใช้เพื่อเปิดพื้นที่ระดับสูงคุณสามารถรวม 3 คนเพื่อรับการอัปเกรดซึ่งจะเป็น ภารกิจของการท้าทายนี้ ชุดการอัพเกรดมีดังนี้: A Crypt Map 68 -> Sewer Map E Dungeon Map 68 -> Channel Map I Grotto Map 68 -> Thicket Map O Dunes Map 68 -> Mountain Ledge Map U Pit Map 68 -> Cemetery Map T Tropical Island Map 68 …

2
เยี่ยมชมตัวติดตามการดริฟท์แต่ละตัว
งานของคุณคือการเปลี่ยนแบตเตอรี่ในอุปกรณ์ติดตามปลาที่ลอยอยู่ในเวลาอันสั้น คุณต้องออกจากฐานของคุณในเฮลิคอปเตอร์ฐานและเยี่ยมชมแต่ละตัวติดตามหนึ่งครั้งจากนั้นกลับไปที่ฐาน การค้นหาเส้นทางที่เหมาะสมนั้นเป็นที่รู้กันดีว่ายาก แต่ก็มีความยากลำบากเพิ่มขึ้น! ตัวติดตามแต่ละตัวจะมีความเร็วลอย (ซึ่งจะถือว่าเป็นค่าคงที่สำหรับวัน) นี่คือปัญหาพนักงานขายเดินทางมาตรฐานที่เพิ่มความท้าทายในการย้ายโหนด มันควรจะง่ายต่อการค้นหาทัวร์ที่ถูกต้อง ความท้าทายหลักคือการพัฒนาอัลกอริทึมเพื่อค้นหาทัวร์ที่เหมาะสมที่สุด ฉันคาดการณ์ว่าจะไม่สามารถหาทัวร์ที่สมบูรณ์แบบด้วยปัจจุบัน N = 300 (แต่ฉันชอบที่จะพิสูจน์ว่าผิด) กฎระเบียบ โปรแกรมของคุณจะได้รับสตริงข้อมูลตัวติดตามใน STDIN หรือผ่านอาร์กิวเมนต์บรรทัดคำสั่ง คุณควรค้นหาเส้นทางที่เข้าชมแต่ละตัวติดตามอย่างแน่นอนหนึ่งครั้งและกลับไปที่ฐาน ผลลัพธ์ควรเป็นรายการที่คั่นด้วย white space ของ tracker ID: เวลาคู่ ตำแหน่งจะถูกระบุในหน่วยเซนติเมตร (ซม.) เวลาถูกวัดในหน่วยวินาทีที่เริ่มต้นด้วย t = 0 ความเร็วจะถูกกำหนดในหน่วยเซนติเมตร / วินาที รหัสติดตามแต่ละอันคือ 1 ถึง 8 ตัวอักษรตัวพิมพ์ใหญ่ ฐานที่มี ID "ฐาน" (0,0)ตั้งอยู่ที่ ค่าตัวเลขทั้งหมดสำหรับอินพุตและเอาต์พุตใช้จำนวนเต็มที่ลงนามแล้ว อินพุตเป็นช่องว่างอย่างน้อยหนึ่งรายการหรือตัวแยกแทร็คสแลช แต่ละติดตามจะมีID:x,y,vx,vyรูปแบบ (เช่นA:566,-344,-5,11) ที่เวลา t, …

11
รายการโซฟี Germain จำนวนเฉพาะ
คำถาม Sophie Germain นายกเป็นนายกพีดังกล่าวว่า2p + 1เป็นสำคัญเช่นกัน ตัวอย่างเช่น 11 เป็นโซฟี Germain prime เพราะ 23 เป็น Prime เช่นกัน เขียนโปรแกรมที่สั้นที่สุดเพื่อคำนวณจำนวนเฉพาะของ Sophie Germain ตามลำดับจากน้อยไปหามาก กฎระเบียบ โปรแกรมของคุณต้องสร้างช่วงเวลาของ Sophie Germain ไม่ใช่จากแหล่งภายนอก โปรแกรมของคุณจะต้องคำนวณจำนวนเฉพาะทั้งหมดของ Sophie Germain ภายใต้2³²-1 คุณต้องพิมพ์เฉพาะโปรแกรมที่คุณพบ บุคคลที่มีคะแนนต่ำสุดชนะ เกณฑ์การให้คะแนน 2 คะแนนต่อไบต์ของรหัสของคุณ -10 ถ้าคุณสามารถแสดงนายกที่สร้างโดยโปรแกรมของคุณมากกว่า2³²-1

4
ใส่บรรทัดในรหัสที่คุณ nut และเขย่ามันทั้งหมด
การใช้ภาษาการเขียนโปรแกรมเดียวเขียน 5 โปรแกรมบรรทัดเดียวซึ่งแต่ละโปรแกรมจะแสดงบรรทัดที่แตกต่างจากข้อแรกของเพลง " Coconut " ของ Harry Nilsson ในปี 1972 เมื่อทำงานแยกกัน: พี่ชายซื้อลูกมะพร้าวเขาซื้อให้กับ พี่สาวน้องสาวของเขามีอีกอันหนึ่งเธอจ่ายให้มะนาว เธอใส่มะนาวลงในต้นมะพร้าวเธอดื่มทั้งสองขึ้น เธอใส่มะนาวลงในมะพร้าวเธอดื่มทั้งสอง เธอ ใส่มะนาวในต้นมะพร้าวเธอดื่มทั้งคู่ ( เนื้อเพลงเต็ม ) 3 บรรทัดสุดท้ายมีเนื้อร้องเดียวกันดังนั้น 3 รายการสุดท้ายของคุณอาจเป็นเช่นนั้น มี 5 แฟคทอเรียลหรือ 120 วิธีที่สามารถจัดเรียงโปรแกรมเดี่ยว 5 รายการต่อหนึ่งบรรทัดในโปรแกรม 5 บรรทัดเดียว คุณต้องปรับโปรแกรมบรรทัดเดียวของคุณให้เหมาะสมสำหรับชุดค่าผสม 120 ชุดเหล่านี้ให้มากที่สุดเท่าที่จะเป็นไปได้โปรแกรม 5 บรรทัดจะแสดงผลทั้งข้อตามลำดับที่ถูกต้องตามที่ปรากฏข้างต้น ตัวอย่าง คำตอบที่ง่ายที่สุดจะมี 5 คำสั่งการพิมพ์บรรทัดเดียว 3 คำสั่งสุดท้ายเหมือนกัน: print('Brother bought a coconut, he …

3
ตัวอักษรตัวเลข mathpack
คำนำ ในสถานการณ์ที่ร้อนมากคุณต้องไปเล่นกอล์ฟให้ดียิ่งขึ้น (เช่นในการท้าทายที่คำตอบของคุณมีความยาว 100 ตัวอักษรและเป็นเรื่องน่าอายที่คุณไม่สามารถทำได้ 99) ในกรณีนี้จากนี้ไปคุณใช้อัลกอริทึมของผู้ชนะในการท้าทายนี้ :) เป้าหมาย คุณต้องเขียนโปรแกรมที่ใช้ uint32 และส่งกลับฟอร์มที่บีบอัดส่วนใหญ่ $ mathpack 147456 9<<14 จะมีหลายวิธีสำหรับตัวเลข เลือกอันที่สั้นที่สุด หากรูปแบบการบีบอัดยาวหรือเท่ากับหมายเลขเดิมให้ส่งคืนหมายเลขเดิม กฎระเบียบ เขียนในภาษาใด ๆ - ส่งออกในภาษาใด ๆ ฉันรู้ว่าใน C 'abc'คือ6382179และคุณสามารถบรรลุผลลัพธ์ที่ดีงามด้วยการแปลงนี้ แต่ภาษาแยกออกจากกันในการท้าทายนี้ดังนั้นอย่าเสียหัวใจ ห้ามมิให้ใช้ตัวแปรภายนอก ผู้ประกอบการเท่านั้นและตัวอักษรและฟังก์ชั่นที่เกี่ยวข้องกับคณิตศาสตร์! เกณฑ์การให้คะแนน นี่เป็นกรณีทดสอบ: pastebin.com/0bYPzUhX คะแนนของคุณ (ร้อยละ) จะมีอัตราส่วนของโดยไม่ต้องแบ่งบรรทัดbyte_size_of_your_output / byte_size_of_the_list (คุณต้องทำด้วยตัวเองเพราะฉันจะตรวจสอบรหัสที่ดีที่สุดในกรณี) ผู้ชนะจะถูกเลือกด้วยคะแนนและภาษาของผลงาน ! ตัวอย่าง: $ mathpack 147456 | mathpack 97787584 | …

1
มีตัวต่อซูโดกุกี่ตัว?
นี่ไม่ใช่ตัวแก้ Sudoku หรือตัวตรวจสอบ Sudoku ความท้าทายของคุณคือการเขียนฟังก์ชั่นหรือสคริปต์ที่ป้อนขนาด "บล็อก" ของปริศนา Sudoku 2D (ซึ่งเป็น 3 สำหรับบอร์ด 9x9 แบบคลาสสิก 4 สำหรับบอร์ด 16x16เป็นต้น) จะคำนวณจำนวนโดยประมาณ ของปริศนาที่แตกต่างกัน (โซลูชัน) ที่มีอยู่สำหรับขนาดนั้น ตัวอย่างเช่นการป้อนข้อมูลที่กำหนด 3 โปรแกรมของคุณควรพิมพ์การประมาณเพื่อความแม่นยำที่ต้องการของจำนวน 6,670,903,752,021,072,972,936,960 ซึ่งเป็นจำนวนที่รู้จักกันของปริศนาซูโดกุ 9x9 ที่แตกต่างกันหรือ 5,472,730,538 เมื่อคำนึงถึงความสมมาตรต่างๆ วิธีการแก้ปัญหาของคุณควรระบุว่าจะนับหรือละเว้นสมมาตร "ความแม่นยำที่ต้องการ" ถูกทิ้งไว้โดยไม่ได้กำหนด: โปรแกรมของคุณอาจทำงานตามเวลาที่กำหนดจากนั้นให้ผลลัพธ์ออกมาหรือคำนวณให้ได้ตามจำนวนตัวเลขที่มีนัยสำคัญหรือแม้แต่เรียกใช้ตลอดไปพิมพ์ที่ดีขึ้นและดีขึ้นโดยประมาณ ประเด็นก็คือมันควรจะเป็นไปได้ที่จะทำให้มันคำนวณผลลัพธ์เพื่อความแม่นยำที่จำเป็นใด ๆ ในเวลาที่ จำกัด (ดังนั้น "42" จึงไม่ใช่คำตอบที่ยอมรับได้) การ จำกัด ความแม่นยำของผลลัพธ์ของคุณกับการลอยของเครื่องที่มีอยู่จึงเป็นที่ยอมรับ ไม่มีการเข้าถึงทรัพยากรออนไลน์ไม่มีการจัดเก็บซอร์สโค้ดในชื่อไฟล์ ฯลฯ PS: ฉันรู้ว่านี่เป็นปัญหาที่ยาก (NP- สมบูรณ์ถ้าฉันไม่ผิดพลาด) …

2
หุ่นยนต์! รวบรวมผักดองเหล่านี้!
ฉันดูเหมือนจะทำให้ตัวเองกลายเป็นของดอง อย่างแท้จริง ฉันทิ้งผักดองไว้บนพื้นและตอนนี้พวกมันกระจัดกระจายไปหมด! ฉันต้องการให้คุณช่วยรวบรวมพวกเขาทั้งหมด โอ้ฉันไม่ได้พูดถึงว่าฉันมีหุ่นยนต์จำนวนมากอยู่ที่คำสั่งของฉันหรือไม่? (พวกมันกระจัดกระจายไปหมดทั่วทั้งสถานที่; ฉันแย่มากในการจัดระเบียบสิ่งต่าง ๆ ) คุณต้องป้อนข้อมูลในรูปแบบของ: P....... ..1..2.. .......P ........ P3PP...4 .......P เช่นหลายบรรทัดอย่างใดอย่างหนึ่ง., P(ดอง) หรือหลัก (ID ของหุ่นยนต์) (คุณอาจสมมติว่าแต่ละบรรทัดมีความยาวเท่ากันเต็มไปด้วย.) คุณสามารถป้อนบรรทัดเหล่านี้เป็นอาร์เรย์หรือ slurp จาก STDIN หรืออ่านในบรรทัดเดียวที่คั่นด้วยเครื่องหมายจุลภาคหรืออ่านไฟล์หรือทำสิ่งที่คุณต้องการ ชอบที่จะใส่ ผลลัพธ์ของคุณจะต้องอยู่ในรูปแบบของnเส้นตรงซึ่งnเป็นรหัสหุ่นยนต์สูงสุด (รหัสประจำตัวหุ่นยนต์จะเรียงตามลำดับโดยเริ่มต้นที่ 1) แต่ละบรรทัดจะมีเส้นทางของหุ่นยนต์ประกอบด้วยตัวอักษรL(ซ้าย), R(ขวา), U( ขวา), (ขึ้น) และD(ลง) ตัวอย่างเช่นต่อไปนี้เป็นตัวอย่างผลลัพธ์สำหรับปริศนาตัวต่อ: LLU RDR LRRR D มันยังสามารถ LLU RDR LRRR D หรือ ["LLU","RDR","LRRR","D"] หรือรูปแบบใดก็ได้ที่คุณต้องการตราบใดที่คุณสามารถบอกได้ว่าควรจะแก้ปัญหาอย่างไร …

5
การสลับหมายเลข [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Code Golf Stack Exchange ปิดให้บริการใน2 ปีที่ผ่านมา นี่เป็นปริศนาทั่วไปที่หลายคนแก้ไขด้วยตนเอง ตอนนี้เป็นเวลาที่จะเขียนอัลกอริทึมเพื่อแก้ปัญหาเดียวกัน มีไม้ขีดไฟจำนวนเท่ากันเรียงกันในสองด้านที่แตกต่างกันหันหน้าไปทางทิศทางของกันและกัน มีช่องว่างเดียวระหว่างพวกเขา พูดอะไรบางอย่างเช่นรูปต่อไปนี้ (ถ้าจำนวนไม้ขีดทั้งหมดเท่ากับ 4) ไม้เท้าแต่ละอันสามารถเลื่อนไปข้างหน้าหนึ่งก้าวในทิศทางไปข้างหน้า (หากว่างด้านหน้าทันทีเป็นอิสระ) หรือสามารถกระโดดข้ามแท่งหนึ่งอันที่ด้านหน้าและลงสู่พื้นที่ว่าง (ถ้าพื้นที่ว่างว่าง) ไม่สามารถเคลื่อนที่ในทิศทางตรงกันข้าม (แม้พื้นที่ว่าง) ไม่อนุญาตให้ย้อนกลับได้ อนุญาตให้ย้ายได้เพียงหนึ่งครั้งในขั้นตอนเดียว ตอนนี้คุณต้องเขียนอัลกอริทึมเพื่อค้นหาขั้นตอนต่ำสุดที่จำเป็นต้องใช้ซึ่งไม้ขีดการจับคู่ด้านซ้ายทั้งหมดจะลงจอดทางด้านขวามือ ตัวอย่างเช่น: หากมีไม้ขีดทั้งหมด 2 คู่ (1 ในแต่ละด้าน) ขั้นตอนจะเป็น: หมายเหตุ: ในภาพด้านบนแท่งด้านซ้ายถูกขยับก่อน วิธีแก้ปัญหาอื่นจะเกิดขึ้นเมื่อแท่งด้านขวาเคลื่อนที่ก่อน แต่สำหรับปัญหานี้คุณต้องแก้ปัญหาเพียงข้อเดียวเท่านั้นและนั่นก็คือสมมติว่าแท่งด้านซ้ายเคลื่อนที่ก่อน รูปต่อไปนี้อธิบายการเคลื่อนไหวด้วย 4 ไม้ขีด (2 ในแต่ละด้าน): หมายเหตุ: ในภาพด้านบนแท่งด้านซ้ายถูกขยับก่อน วิธีแก้ปัญหาอื่นจะเกิดขึ้นเมื่อแท่งด้านขวาเคลื่อนที่ก่อน แต่สำหรับปัญหานี้คุณต้องแก้ปัญหาเพียงข้อเดียวเท่านั้นและนั่นก็คือสมมติว่าแท่งด้านซ้ายเคลื่อนที่ก่อน [การสันนิษฐาน: อินพุตสามารถเป็นเลขคู่ใดก็ได้ระหว่าง 02 …

1
คุณสามารถหา Waldo ได้ไหม? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา Where's Waldoเป็นเกมค้นหาที่คุณนำเสนอภาพของบางฉากและเป้าหมายของคุณคือการหาผู้ชายที่ชื่อ Waldo ในภาพ นี่คือภาพคู่ที่แสดงให้เห็นว่า Waldo มีลักษณะอย่างไร เขามักสวมเสื้อยืดและหมวกลายทางสีแดงและสีขาวกางเกงสีฟ้ารองเท้าสีน้ำตาลและผม เขาสามารถมีหรือไม่มีอุปกรณ์เสริมเช่นกล้องแว่นตาหรืออ้อย และนี่คือบางส่วนของฉากที่ Waldo ซ่อนอยู่ (คุณสามารถคลิกขวาที่ภาพและไปที่แหล่งรูปภาพเพื่อความละเอียดที่สูงขึ้น) ความท้าทาย เขียนโปรแกรมที่ประมวลผลภาพ (จัดเตรียมให้เป็นอินพุตตามที่คุณต้องการ) และค้นหา Waldo ในภาพห้าภาพด้านบนให้ได้มากที่สุด โปรแกรมของคุณได้รับคะแนนโดยใช้สูตรต่อไปนี้ codeLength / numberOfPicturesInWhichWaldoIsFound และแน่นอนยิ่งคะแนนยิ่งต่ำก็ยิ่งดีเท่านั้น

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