คำถามติดแท็ก path-finding

ปัญหาในเรขาคณิตหรือกราฟทฤษฎีที่เกี่ยวข้องกับการหาเส้นทางที่เหมาะสมที่สุด (เช่นสั้นที่สุด) ภายใต้ข้อ จำกัด (อุปสรรค)

24
Lab Rat Race: การออกกำลังกายในขั้นตอนวิธีเชิงพันธุกรรม
นี่คือความท้าทายรายปักษ์ # 3 ชุดรูปแบบ: อัลกอริทึมทางพันธุกรรม ความท้าทายนี้เป็นส่วนหนึ่งของการทดลอง เราต้องการที่จะเห็นสิ่งที่เราสามารถทำได้ท้าทายด้วยปัญญาขั้นตอนวิธีทางพันธุกรรม ไม่ใช่ทุกอย่างอาจจะดีที่สุด แต่เราพยายามอย่างดีที่สุดเพื่อให้สามารถเข้าถึงได้ ถ้าสิ่งนี้ใช้ได้ผลใครจะรู้ว่าเราจะเห็นอะไรในอนาคต อาจเป็น King of the Hill ทางพันธุกรรมหรือไม่? สเป็คค่อนข้างยาว! เราได้พยายามแยกข้อมูลจำเพาะออกเป็นพื้นฐาน - ขั้นต่ำเปล่าที่คุณต้องรู้เพื่อเริ่มเล่นกับกรอบงานและส่งคำตอบ - และรายละเอียด The Gory - ข้อมูลจำเพาะทั้งหมดพร้อมรายละเอียดทั้งหมดเกี่ยวกับตัวควบคุมตามที่คุณ สามารถเขียนของคุณเอง หากคุณมีคำถามใด ๆอย่าลังเลที่จะเข้าร่วมกับเราในการแชท! คุณเป็นนักวิจัยด้านจิตวิทยาพฤติกรรม เย็นวันศุกร์และคุณและเพื่อนร่วมงานของคุณตัดสินใจที่จะสนุกและใช้หนูทดลองของคุณเพื่อการแข่งขันหนูตัวน้อย ในความเป็นจริงก่อนที่เราจะได้รับความรู้สึกทางอารมณ์เกินไปที่จะพวกเขาให้เรียกพวกเขาตัวอย่าง คุณได้สร้างลู่วิ่งเล็ก ๆ น้อย ๆ สำหรับชิ้นงานทดสอบและเพื่อให้น่าสนใจยิ่งขึ้น ตอนนี้ตัวอย่างของคุณยังคงเป็นหนู ... พวกมันไม่รู้ว่ากับดักหรือเครื่องเคลื่อนย้ายมวลสารคืออะไร สิ่งที่พวกเขาเห็นคือบางสิ่งที่มีสีต่างกัน พวกเขายังไม่มีหน่วยความจำใด ๆ - สิ่งที่พวกเขาทำได้คือตัดสินใจตามสภาพแวดล้อมปัจจุบัน ฉันเดาว่าการคัดเลือกโดยธรรมชาติจะเลือกตัวอย่างที่รู้วิธีหลีกเลี่ยงกับดักจากสิ่งที่ไม่ทำ (การแข่งขันนี้จะต้องใช้เวลาสักครู่ ... ) ให้เกมเริ่มต้นขึ้น! …

5
รุ้งดำและขาว
กำหนดรูปภาพที่มีพิกเซลขาวดำเท่านั้นและตำแหน่ง (x, y) ซึ่งเป็นพิกเซลสีขาวสีพิกเซลสีขาวตามระยะทางแมนฮัตตันขั้นต่ำจาก (x, y) ในเส้นทางที่เกี่ยวข้องกับการข้ามพิกเซลสีขาวอื่นเท่านั้น สีของพิกเซลสีจะต้องเป็นสัดส่วนกับระยะทางของพวกเขาจาก (x, y) ดังนั้นพิกเซลที่ (x, y) จะมีสีของ 0 ° (สีแดงบริสุทธิ์) และพิกเซลที่ไกลออกไปจาก (x, y) จะมีเฉดสีที่ 360 ° (เป็นสีแดง) โดยที่เฉดสีอื่น ๆ จะผสมผสานกันอย่างลงตัวและเป็นเส้นตรงระหว่างกัน ทั้งความอิ่มตัวและค่าต้องเป็น 100% หากพิกเซลสีขาวไม่ได้เชื่อมต่อกับ (x, y) ผ่านพิกเซลสีขาวอื่น ๆ จะต้องเป็นสีขาว รายละเอียด การป้อนข้อมูลจะประกอบด้วยชื่อไฟล์ของภาพหรือข้อมูลภาพดิบรวมทั้งจำนวนเต็ม x และ y ภาพที่ส่งออกอาจถูกบันทึกลงในไฟล์หรือไปยังไฟล์ดิบเพื่อ stdout ในรูปแบบไฟล์ภาพทั่วไปหรือแสดงเพียง ค่า x คือ 0 บนพิกเซลซ้ายสุดและเพิ่มไปทางขวา ค่า y …

9
เรือนจำของฉันปลอดภัยหรือไม่?
ความท้าทายของคุณได้รับการป้อนข้อมูลของรูปแบบเรือนจำเพื่อกำหนดว่านักโทษคนใดสามารถหลบหนี อินพุต ป้อนข้อมูลอาจจะอยู่ในรูปแบบที่เหมาะสมใด ๆ เช่นสตริงอาร์เรย์อาร์เรย์ของอาร์เรย์ ฯลฯ การป้อนข้อมูลจะประกอบด้วยสามตัวละครในกรณีนี้#, Pและพื้นที่ อินพุตไม่จำเป็นต้องมีอักขระทั้งสามตัว #: ผนัง P: นักโทษ พื้นที่: พื้นที่ว่าง ตัวอย่างอินพุตจะมีลักษณะดังนี้: ##### # # # P # # # ##### เอาท์พุต คุณค่าของความจริง / ความเท็จว่าเรือนจำนั้นปลอดภัยหรือไม่ คุกมีความปลอดภัย แต่ถ้ามันสามารถถือทั้งหมดของนักโทษ หากนักโทษคนใดสามารถหลบหนีได้ก็จะไม่ปลอดภัย นักโทษสามารถหลบหนีได้หากไม่มีกำแพงล้อมรอบอย่างสมบูรณ์ การรวมเส้นทแยงมุมถูกปิดล้อมอย่างสมบูรณ์ กรณีทดสอบ ############# Truthy # P # P# # # # # P # ############# ############# Truthy …

7
หุ่นยนต์ค้นหาลูกแมว
ความท้าทาย รหัสที่สั้นที่สุดตามจำนวนตัวอักษรเพื่อช่วยให้ Robot ค้นหาลูกแมวในขั้นตอนที่น้อยที่สุดเท่าที่จะทำได้ นักกอล์ฟนี่เป็นช่วงเวลาของวิกฤต - ลูกแมวหายไปและมันเป็นงานของหุ่นยนต์ที่จะหามัน! หุ่นยนต์ต้องไปถึงลูกแมวในเส้นทางที่สั้นที่สุด อย่างไรก็ตามมีอุปสรรคมากมายในทางของหุ่นยนต์และเขาต้องการให้คุณเขียนโปรแกรมสำหรับเขา หุ่นยนต์เคยมีโปรแกรมทำเพื่อเขา แต่โปรแกรมนั้นหายไปและหุ่นยนต์ไม่มีการสำรองข้อมูล :( รันไทม์ของหุ่นยนต์ไม่ดีที่สุดและตัวละครน้อยที่สุดที่หุ่นยนต์ต้องอ่านจากซอร์สโค้ดเวลาที่ใช้ในการประมวลผลน้อยที่สุดนั่นหมายความว่าลูกแมวจะพบได้เร็วขึ้น! หน่วยความจำของหุ่นยนต์มีแผนที่ของตำแหน่งที่เขาอยู่ในขณะนี้ด้วยด้านบนเป็นตัวแทนเหนือ, ด้านล่างเป็นตัวแทนใต้ขวาเป็นตัวแทนตะวันออกและซ้ายเป็นตัวแทนตะวันตก หุ่นยนต์มักจะอยู่ในห้องสี่เหลี่ยมที่มีขนาดที่ไม่รู้จักล้อมรอบด้วยกำแพงแสดง#ในแผนที่เรดาร์ของเขา หุ่นยนต์พื้นที่สามารถเดินในเป็นตัวแทนจากพื้นที่ เรดาร์ของหุ่นยนต์สแกนหาสิ่งกีดขวางมากมายในห้องและทำเครื่องหมายด้วยตัวอักษร ASCII ต่างๆ หุ่นยนต์ไม่สามารถเดินข้ามสิ่งกีดขวางเหล่านั้นได้ เรดาร์จะทำเครื่องหมายลูกแมวเป็นอักขระ ASCII พิเศษในขณะที่สถานที่ตั้งของหุ่นยนต์จะมีเครื่องหมายKR ระบบนำทางของหุ่นยนต์ทำงานในลักษณะนี้: เขาสามารถเข้าใจคู่ของทิศทางและจำนวนหน่วยการเคลื่อนไหวที่เขาควรเดินทางไป - เช่นN 3หมายถึง 'ไปทางเหนือ 3 หน่วยการเคลื่อนไหว' แผนที่เรดาร์ของหุ่นยนต์ถูกสร้างขึ้นเพื่อให้หน่วยการเคลื่อนไหวเป็นหนึ่งตัวอักษร ASCII หุ่นยนต์สามารถไปได้ 4 ทิศทางและไม่สามารถเคลื่อนที่ในแนวทแยงมุมได้ ภารกิจของคุณคือ Kitten saver ที่กล้าหาญคืออ่านแผนที่เรดาร์ของ Robot หนึ่งครั้งและออกทิศทางในจำนวนที่น้อยที่สุดด้วยระยะทางที่เคลื่อนที่ได้น้อยที่สุด หุ่นยนต์รับประกันว่าจะมีเส้นทางไปสู่ ​​Kitten อย่างน้อยหนึ่งเส้นทาง เพื่อให้แน่ใจว่า Robot ไม่ต้องเสียเวลาในการรันโปรแกรมที่ชำรุดซึ่งจะไม่ช่วยให้ Robot …

30
การต่อท้ายความยาวสตริง
ท้าทาย: กำหนดสตริงsตัวอักษรa- z, A- Z, 0- 9ผนวกความยาวของsตัวเองนับตัวอักษรเพิ่มเติม (s) sมีความยาวเป็นส่วนหนึ่งของความยาวทั้งหมดของ การป้อนข้อมูล: เพียงสตริงที่มีความยาวโดยพลการ (ว่างเปล่า) เอาท์พุท: สตริงเดียวกัน แต่มีความยาวต่อท้าย ควรนับอักขระที่แสดงความยาวเป็นส่วนหนึ่งของความยาว ในกรณีที่มีความยาวที่ถูกต้องจำนวนมากเพื่อต่อท้ายเลือกขนาดที่เล็กที่สุดที่เป็นไปได้ (ดูตัวอย่างกรณีทดสอบ) กรณีทดสอบ: INPUT -> OUTPUT // Comment aaa -> aaa4 -> 1 // Empty string aaaaaaaa -> aaaaaaaa9 // aaaaaaaa10 would also normally be valid, but violates using the smallest number rule mentioned …
51 code-golf  string  code-golf  string  random  code-golf  array-manipulation  code-golf  ascii-art  kolmogorov-complexity  random  code-golf  array-manipulation  code-golf  stateful  code-golf  hello-world  code-golf  string  code-golf  interpreter  lisp  code-golf  restricted-source  quine  palindrome  code-golf  ascii-art  random  generation  challenge-writing  ascii-art  random  polyglot  maze  answer-chaining  string  cops-and-robbers  whitespace  code-golf  string  cops-and-robbers  whitespace  code-golf  number  sequence  code-golf  date  code-golf  ascii-art  decision-problem  code-golf  combinatorics  chemistry  code-golf  kolmogorov-complexity  source-layout  radiation-hardening  code-golf  ascii-art  path-finding  maze  code-golf  string  ascii-art  game  animation  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  restricted-source  new-years 

6
รถของคุณเลี้ยวขวาเท่านั้น!
บทนำ คุณมีความโชคร้ายที่ต้องติดอยู่ในรถที่ต้องหลบหนีจากสิ่งกีดขวาง คุณสมบัติทั้งหมดของรถไม่ตอบสนองประหยัดสำหรับระบบบังคับเลี้ยวซึ่งได้รับความเสียหาย ขับตรงหรือเลี้ยวขวาก็ได้ รถสามารถนำทางไปสู่ความปลอดภัยได้หรือไม่? กลศาสตร์ รถของคุณเริ่มต้นที่มุมบนซ้ายของแผนที่ 8x8 และพยายามที่จะปลอดภัยที่มุมล่างขวา รถมีทิศทาง (เริ่มแรกไปทางขวา) วัดโดยเพิ่มทีละ 90 องศา รถสามารถดำเนินการอย่างใดอย่างหนึ่งจากสองการกระทำ: ขับไปข้างหน้าหนึ่งสี่เหลี่ยมหรือ หมุนตามเข็มนาฬิกา 90 องศาจากนั้นขับไปข้างหน้าหนึ่งช่อง โปรดทราบว่ารถไม่สามารถเลี้ยวได้เร็วพอที่จะเลี้ยวได้ 180 องศาในหนึ่งตาราง สี่เหลี่ยมบางอันเป็นอุปสรรค หากรถเข้าสู่จัตุรัสสิ่งกีดขวางก็เกิดปัญหา ทุกอย่างที่อยู่นอกสนาม 8x8 นั้นถือว่าเป็นอุปสรรคดังนั้นการขับรถนอกเส้นทางนั้นจึงเทียบเท่ากับการกระแทก ตารางด้านล่างขวาคือจัตุรัสที่ปลอดภัยซึ่งช่วยให้รถหลบหนีจากสิ่งกีดขวางได้ สี่เหลี่ยมเริ่มต้นและสี่เหลี่ยมปลอดภัยถือว่าไม่เป็นอุปสรรค งาน คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่ใช้เป็นอาเรย์ของ 8x8 (เมทริกซ์, ลิสต์ของรายการ, ฯลฯ ) ซึ่งแสดงถึงเส้นทางของสิ่งกีดขวาง โปรแกรมส่งคืนหรือพิมพ์บูลีนหรือสิ่งที่คล้ายกัน ถ้ามันเป็นไปได้สำหรับรถที่จะให้มันไปตารางปลอดภัยโดยไม่ crashing (เช่นถ้าแผนที่จะแก้ปัญหาได้) ออกเป็นมิฉะนั้นก็TrueFalse เกณฑ์การให้คะแนน กฎของรหัสกอล์ฟมาตรฐาน - ผู้ชนะคือรหัสที่มีจำนวนไบต์น้อยที่สุด โบนัส: หากสำหรับแผนที่ที่แก้ไขได้รหัสของคุณจะแสดงชุดข้อมูลไดรเวอร์ที่ถูกต้องซึ่งนำรถไปยังจัตุรัสที่ปลอดภัยให้หักคะแนน 10 เปอร์เซ็นต์จากคะแนนของคุณ …

3
ล็อคจักรยานรวมกัน
สถานการณ์ หลังจากทำงานเป็นเวลานานทั้งวันในสำนักงานและท่องดูstackexchange.comในที่สุดฉันก็เดินออกจากประตูเวลา 16:58 น. เหนื่อยกับวันนั้น เนื่องจากฉันยังเป็นเพียงผู้ฝึกงานโหมดการขนส่งปัจจุบันของฉันจึงเป็นจักรยาน ฉันตรงไปที่Peugeot Reynolds 501 ที่ไว้ใจได้ของฉันแต่ก่อนที่ฉันจะแล่นเรือไปได้ฉันต้องปลดล็อคก่อน ตัวล็อคเป็นรหัสล็อคสี่หลักมาตรฐาน (0-9) ผ่านทางกรอบและล้อหน้า ขณะที่ฉันพยายามตื่นตัวอยู่ฉันก็ดึงมือขึ้นเพื่อเข้าร่วม ความท้าทาย เนื่องจากนิ้วของฉันอ่อนล้าฉันต้องการเปลี่ยนการล็อคให้เป็นการผสมผสานที่ถูกต้องกับการเคลื่อนไหวที่น้อยที่สุด หนึ่งการเคลื่อนไหวถูกกำหนดให้เป็นหมุนโดยหนึ่งตำแหน่ง (36 องศา) ตัวอย่างเช่นมีการเคลื่อนไหวจากการ5737 5738อย่างไรก็ตามฉันสามารถที่จะจับได้ถึงสามวงติดต่อกันในเวลาเดียวกันและหมุนพวกเขาเป็นวงเดียวซึ่งนับเป็นการเคลื่อนไหวเพียงครั้งเดียวเท่านั้น ตัวอย่างนอกจากนี้ยังมีเพียงหนึ่งการเคลื่อนไหวจาก5737ไปหรือ6837 5626การย้ายจาก5737ไปยัง6838ไม่ใช่หนึ่งการเคลื่อนไหวเนื่องจากตัวเลข 1,2 และ 4 เคลื่อนไปในทิศทางเดียวกัน แต่เป็นอิสระจากตัวเลข 3 ดังนั้นสำหรับชุดค่าผสมที่กำหนดฉันสามารถเห็นได้บนล็อคจักรยาน (จำนวนเต็ม 4 หลักใด ๆ ) อะไรคือจำนวนการเคลื่อนไหวที่ต่ำที่สุดที่ฉันสามารถทำได้เพื่อปลดล็อคและใช่ฉันสามารถหมุนในทิศทางใดก็ได้ ด้วยวิธีนี้ฉันหมายความว่าฉันสามารถเปลี่ยนตัวเลขบางอย่างในทิศทางเดียวและตัวเลขอื่น ๆ ในทิศทางอื่น: การเคลื่อนไหวของฉันทั้งหมดไม่ได้เป็นแบบเข็มหรือตามเข็มนาฬิกาสำหรับการปลดล็อคแต่ละครั้ง เพราะฉันขี้เกียจรหัสปลดล็อคของฉันคือ 0000 นี่คือรหัสกอล์ฟฉันไม่สามารถเขียนรหัสได้มากนักดังนั้นโปรแกรมที่สั้นที่สุดในจำนวนไบต์ชนะ ข้อมูลมาจาก stdin และรหัสของคุณควรส่งออกชุดค่าผสมที่ฉันเห็นในแต่ละขั้นตอนหลังจากการเคลื่อนไหวแต่ละครั้งรวมถึง 0000 ที่สิ้นสุด เอาต์พุตชุดค่าผสมแต่ละชุดควรคั่นด้วยช่องว่าง / …

3
ช่วยด้วยฉันติดอยู่ในสามเหลี่ยม Sierpinski!
วาดรูปสามเหลี่ยม Sierpinski ได้รับการ ทำเพื่อ ความตาย มีสิ่งที่น่าสนใจอื่น ๆ ที่เราสามารถทำได้ หากเราเหลื่อมอย่างหนักที่สามเหลี่ยมเราสามารถดูรูปสามเหลี่ยมกลับหัวกลับหางเป็นโหนดของกราฟเศษส่วน ลองหาวิธีของเรารอบกราฟนั้น! ก่อนอื่นเรามากำหนดหมายเลขให้แต่ละโหนด รูปสามเหลี่ยมคว่ำที่ใหญ่ที่สุดจะเป็นศูนย์โหนดและจากนั้นเราก็ลงเลเยอร์ทีละเลเยอร์ คลิกเพื่อดูเวอร์ชั่นที่ใหญ่ขึ้นซึ่งตัวเลขขนาดเล็กจะเบลอน้อยลง (แน่นอนรูปแบบนี้ยังคงไม่มีที่สิ้นสุดภายในรูปสามเหลี่ยมสีฟ้า.) วิธีการกำหนดเลขก็คือว่าโหนดกลางมีดัชนี0และเด็กของโหนดi(รูปสามเหลี่ยมที่อยู่ติดกันของระดับถัดไปที่มีขนาดเล็ก) มีดัชนี3i+1, และ3i+23i+3 เราจะย้ายกราฟนี้อย่างไร มีขั้นตอนตามธรรมชาติได้ถึงหกขั้นตอนที่เราสามารถเลือกได้จากรูปสามเหลี่ยมใด ๆ เราสามารถเคลื่อนที่ผ่านจุดกึ่งกลางของขอบหนึ่งไปยังหนึ่งในสามลูกของโหนดปัจจุบัน เราจะกำหนดให้การเคลื่อนไหวเหล่านี้เป็นN, และSW SEเช่นถ้าเราอยู่บนโหนด2เหล่านี้จะนำไปสู่ต่อมน้ำ7, 8, 9ตามลำดับ การเคลื่อนไหวอื่น ๆ ผ่านขอบ (ไปยังลูกหลานทางอ้อม) ไม่ได้รับอนุญาต เราสามารถเลื่อนมุมหนึ่งในสามมุมนี้ได้โดยที่ไม่แตะที่ขอบของสามเหลี่ยมเพื่อไปยังผู้ปกครองโดยตรงหรือบรรพบุรุษทางอ้อมหนึ่งในสองคน เราจะกำหนดให้การเคลื่อนไหวเหล่านี้เป็นS, และNE NWเช่นถ้าเราอยู่บนโหนด31, Sจะนำไปสู่10, NEจะไม่ถูกต้องและจะนำไปสู่NW0 ความท้าทาย กำหนดจำนวนเต็มสองค่าที่ไม่ใช่ลบxและyหาเส้นทางที่สั้นที่สุดจากxไปถึงyโดยใช้เพียงแค่หกการเคลื่อนไหวที่อธิบายข้างต้น หากมีเส้นทางที่สั้นที่สุดหลายเส้นทางให้เลือกเส้นทางใดเส้นทางหนึ่ง โปรดทราบว่ารหัสของคุณควรใช้งานได้มากกว่า 5 ระดับที่อธิบายไว้ในแผนภาพด้านบน x, y < 1743392200คุณอาจจะคิดว่า สิ่งนี้ทำให้มั่นใจได้ว่ามันพอดีกับจำนวนเต็ม 32 บิต …

6
Island Golf # 1: Circumnavigation
นี่เป็นครั้งแรกในชุดของความท้าทายของ Island Golf ความท้าทายต่อไป ได้รับเกาะในรูปแบบ ASCII เอาท์พุทเส้นทางที่เหมาะสมที่สุดเพื่อแล่นเรือรอบเกาะ อินพุต ข้อมูลที่คุณป้อนจะเป็นตารางสี่เหลี่ยมที่ประกอบด้วยอักขระสองตัวซึ่งแสดงถึงที่ดินและน้ำ ในตัวอย่างด้านล่างที่ดิน#และน้ำเป็น.แต่คุณอาจแทนที่อักขระสองตัวที่คุณต้องการ ........... ...##...... ..#####.... ..#######.. .#########. ...#######. ...#####.#. ....####... ........... จะมีแผ่นพื้นอย่างน้อยหนึ่งแผ่นเสมอ แผ่นกระเบื้องพื้นดินจะต่อเนื่องกัน (เช่นมีเพียงเกาะเดียว) แผ่นน้ำก็จะต่อเนื่องกัน (เช่นไม่มีทะเลสาบ) เส้นขอบด้านนอกของตารางทั้งหมดจะเป็นแผ่นน้ำ แผ่นพื้นดินจะไม่เชื่อมต่อในแนวทแยงมุม: นั่นคือคุณจะไม่เห็นสิ่งที่ต้องการ .... .#.. ..#. .... เอาท์พุต รหัสของคุณจะต้องส่งออกกริดเดียวกันโดยมีcircumnavigation ที่สั้นที่สุดเอาไว้ ในตัวอย่างด้านล่างเส้นทาง circumnavigation จะถูกวาดด้วยoแต่คุณสามารถทดแทนอักขระใดก็ได้ตราบใดที่มันแตกต่างจากตัวอักษรพื้นดินและน้ำ circumnavigationเป็นโค้งปิดง่ายวาดทั้งหมดบนกระเบื้องน้ำที่ล้อมรอบอย่างเต็มที่กระเบื้องแผ่นดินทั้งหมดบนตาราง การเชื่อมต่อในแนวทแยงจะได้รับอนุญาต ตัวอย่างเช่นนี่คือ circumnavigation ของเกาะด้านบน (แต่ไม่ใช่อันที่สั้นที่สุด): .ooooo..... o..##.oo... o.#####.o.. o.#######o. o#########o ooo#######o ..o#####.#o …

30
สร้างเมทริกซ์เอกลักษณ์
ความท้าทายนั้นง่ายมาก กำหนดอินพุตจำนวนเต็มnส่งออกn x nเมทริกซ์เอกลักษณ์ เมทริกซ์เอกลักษณ์เป็นข้อมูลที่มีการ1ขยายจากด้านบนซ้ายลงไปด้านล่างขวา คุณจะเขียนโปรแกรมหรือฟังก์ชั่นที่จะส่งกลับหรือแสดงเมทริกซ์เอกลักษณ์ที่คุณสร้างขึ้น ผลลัพธ์ของคุณอาจเป็นอาร์เรย์ 2 มิติหรือตัวเลขคั่นด้วยช่องว่าง / แท็บและบรรทัดใหม่ ตัวอย่างอินพุทและเอาท์พุท 1: [[1]] 2: [[1, 0], [0, 1]] 3: [[1, 0, 0], [0, 1, 0], [0, 0, 1]] 4: [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]] 5: [[1, 0, 0, …

30
ตัวเลขนี้เป็นจำนวนเต็มกำลังของ -2 หรือไม่
มีวิธีการที่ชาญฉลาดในการพิจารณาว่าตัวเลขเป็นกำลัง 2 นั่นไม่ใช่ปัญหาที่น่าสนใจอีกต่อไปดังนั้นลองพิจารณาว่าจำนวนเต็มที่กำหนดเป็นกำลังจำนวนเต็ม-2หรือไม่ ตัวอย่างเช่น: -2 => yes: (-2)¹ -1 => no 0 => no 1 => yes: (-2)⁰ 2 => no 3 => no 4 => yes: (-2)² กฎระเบียบ คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นและใช้วิธีการมาตรฐานใด ๆ ในการรับอินพุตและจัดเตรียมเอาต์พุต อินพุตของคุณเป็นจำนวนเต็มเดียวและเอาต์พุตต้องเป็นค่าจริงหากจำนวนเต็มเป็นกำลังของเลขจำนวนเต็ม -2 และค่าเท็จเป็นอย่างอื่น ไม่อนุญาตให้ใช้เอาต์พุตอื่น (เช่นข้อความเตือน) ใช้กฎโอเวอร์โฟลว์จำนวนเต็มตามปกติ: วิธีแก้ปัญหาของคุณจะต้องสามารถทำงานกับจำนวนเต็มขนาดใหญ่ตามอำเภอใจในภาษาของคุณ (หรืออาจจะเป็นจริง) ในรูปแบบสมมุติซึ่งจำนวนเต็มทั้งหมดถูก จำกัด โดยค่าเริ่มต้น แต่หากโปรแกรมของคุณล้มเหลวในทางปฏิบัติ ไม่รองรับจำนวนเต็มที่มีขนาดใหญ่ซึ่งไม่ได้ทำให้โซลูชันไม่ถูกต้อง คุณอาจใช้ภาษาการเขียนโปรแกรมใด ๆแต่โปรดทราบว่าช่องโหว่เหล่านี้เป็นสิ่งต้องห้ามตามค่าเริ่มต้น สภาพการชนะ นี่คือการประกวดcode-golf : …

22
ปี่ธรรมชาติ # 0 - ร็อค
เป้าหมาย สร้างโปรแกรม / ฟังก์ชั่นที่รับอินพุตNตรวจสอบว่าNคู่ของจำนวนเต็มแบบสุ่มนั้นค่อนข้างดีและส่งคืนsqrt(6 * N / #coprime)หรือไม่ TL; DR ความท้าทายเหล่านี้เป็นการจำลองอัลกอริธึมที่ต้องการเพียงแค่ธรรมชาติและสมองของคุณ หากคุณต้องการ Pi ในระหว่างการเปิดเผยซอมบี้วิธีการเหล่านี้จะไม่เปลืองกระสุน ! มีอีกแปดความท้าทายที่จะมา ชำระเงินโพสต์แซนด์บ็อกซ์เพื่อให้คำแนะนำ การจำลอง เรากำลังจำลองอะไร ความน่าจะเป็นที่สองจำนวนเต็มแบบสุ่มนั้นค่อนข้างไพเราะ (เช่น coprime หรือ gcd == 1) 6/Pi/Piดังนั้นวิธีธรรมชาติในการคำนวณ Pi ก็คือการตักก้อนหินขึ้นสองถัง (หรือกำมือ) นับพวกเขา; ดูว่าgcdของพวกเขาคือ 1; ทำซ้ำ หลังจากที่ทำเช่นนี้คู่หลายครั้งจะมีแนวโน้มต่อsqrt(6.0 * total / num_coprimes) Piหากการคำนวณสแควร์รูทในโลกหลังวิกฤติทำให้คุณกังวลไม่ต้องกังวล! มีวิธีการของนิวตันสำหรับสิ่งนั้น เราจำลองสิ่งนี้ได้อย่างไร รับอินพุต N ทำตามNเวลาต่อไปนี้: สร้างเลขจำนวนเต็มบวกแบบสุ่มiและj กับ 1 <= i …
39 code-golf  math  random  pi  approximation  popularity-contest  code-golf  sequence  number-theory  binary  coding-theory  code-golf  math  3d  code-golf  code-golf  math  number  code-golf  kolmogorov-complexity  code-golf  ascii-art  graphical-output  binary-tree  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation  hexadecimal  code-golf  math  number  set-theory  code-golf  math  arithmetic  number-theory  integer  code-golf  string  kolmogorov-complexity  code-golf  math  sequence  arithmetic  decision-problem  code-golf  code-golf  ascii-art  code-golf  array-manipulation  parsing  code-golf  string  ascii-art  kolmogorov-complexity  code-challenge  code-golf  sequence  code-golf  number  array-manipulation  sorting  code-golf  string  function  code-golf  arithmetic  code-golf  math  sequence  number-theory  primes  restricted-source  javascript  code-challenge  polyglot  rosetta-stone  code-golf  code-golf  regular-expression  code-golf  math  code-golf  math  primes  code-golf  ascii-art  kolmogorov-complexity  binary  code-golf  math  sequence  code-golf  sequence  subsequence  code-golf  string  code-golf  parsing  music  code-golf  grid  game  path-finding  board-game  code-golf  string  binary  code-golf  array-manipulation  balanced-string  code-golf  code-golf  algorithm  code-golf  string  number  arithmetic  array-manipulation  code-golf  array-manipulation  binary-tree  tree-traversal  code-golf  code-golf  tips  code-golf  string  base-conversion  code-golf  tips  s.i.l.o.s  code-golf  string  ascii-art  code-golf  code-challenge  code-golf  game 

6
เพื่อ Vectory! - Vector Racing Grand Prix
ผู้ใช้ CarpetPython โพสต์สิ่งใหม่เกี่ยวกับปัญหานี้ซึ่งให้ความสำคัญกับโซลูชั่นฮิวริสติกมากขึ้นเนื่องจากมีพื้นที่การค้นหาเพิ่มขึ้น โดยส่วนตัวฉันคิดว่าความท้าทายนั้นดีกว่าของฉันมากดังนั้นลองพิจารณาดูสิ! Vector racing เป็นเกมเสพติดที่สามารถเล่นได้ด้วยปากกาและแผ่นกระดาษสี่เหลี่ยมจตุรัส คุณวาดสนามแข่งตามอำเภอใจลงบนกระดาษกำหนดจุดเริ่มต้นและจุดสิ้นสุดจากนั้นให้คุณควบคุมรถขนาดจุดของคุณในลักษณะเลี้ยว ไปให้ถึงจุดสิ้นสุดให้เร็วที่สุดเท่าที่จะทำได้ แต่ระวังอย่าให้ถูกกำแพง! ติดตาม แผนที่เป็นกริดสองมิติโดยที่แต่ละเซลล์มีพิกัดจำนวนเต็ม คุณย้ายไปที่เซลล์กริด เซลล์กริดแต่ละเซลล์เป็นส่วนหนึ่งของแทร็กหรือเป็นกำแพง หนึ่งเซลล์ติดตามคือพิกัดเริ่มต้น มีการกำหนดอย่างน้อยหนึ่งเซลล์การติดตามเป็นเป้าหมาย การลงจอดบนสิ่งเหล่านี้เสร็จสิ้นการแข่งขัน เซลล์เป้าหมายหลายเซลล์ไม่จำเป็นต้องเชื่อมต่อ ขับรถ (0, 0)รถของคุณเริ่มต้นที่ได้รับการประสานงานและด้วยความเร็วเวกเตอร์ ในแต่ละเทิร์นคุณสามารถปรับแต่ละส่วนของความเร็ว±1ได้ จากนั้นเวกเตอร์ความเร็วที่ได้จะถูกเพิ่มไปยังตำแหน่งรถของคุณ ภาพอาจช่วยได้! วงกลมสีแดงคือตำแหน่งของคุณในที่สุด วงกลมสีน้ำเงินคือตำแหน่งปัจจุบันของคุณ ความเร็วของคุณคือเวกเตอร์จากสีแดงถึงวงกลมสีน้ำเงิน ในเทิร์นนี้ขึ้นอยู่กับวิธีที่คุณปรับความเร็วของคุณคุณอาจย้ายไปยังวงกลมสีเขียวใด ๆ หากคุณที่ดินในผนังที่คุณสูญเสียทันที งานของคุณ คุณเดา: เขียนโปรแกรมที่ให้สนามแข่งเป็นอินพุทนำพารถไปยังเซลล์เป้าหมายหนึ่งในไม่กี่รอบเท่าที่จะทำได้ โซลูชันของคุณควรสามารถจัดการแทร็กตามอำเภอใจได้ดีพอสมควรและไม่ได้รับการปรับให้เหมาะสมกับกรณีทดสอบที่มีให้โดยเฉพาะ อินพุต เมื่อโปรแกรมของคุณถูกเรียกใช้อ่านจาก stdin : target n m [ASCII representation of an n x m racetrack] time …

9
โปรแกรมรถแข่ง
ขอแสดงความยินดีกับ @kuroineko ชนะเงินรางวัลเพื่อความเร็วที่ยอดเยี่ยม (672 ย้าย) บนเส้นทาง Gauntlet ผู้นำ: * Nimi ให้คะแนนน้ำหนักเบา 2129 รายการอื่น ๆ มีขนาดใหญ่กว่า แต่แสดงความเร็วที่รุนแรง * หัวหน้าอาจเปลี่ยนแปลงได้เนื่องจากรายการในภายหลัง งานของคุณคือการเขียนโปรแกรมขนาดเล็กที่สามารถขับรถแข่งได้อย่างรวดเร็ว กฎระเบียบ โปรแกรมของคุณจะอ่านในภาพของแทร็ก คุณสามารถสตาร์ทรถด้วยพิกเซลสีเหลืองและคุณต้องทำให้เสร็จโดยข้ามพิกเซลสีดำ เส้นทางของรถของคุณต้องอยู่บนเส้นทางสีเทา ((c, c, c) โดยที่ 30 <= c <= 220) แทร็ก รถของคุณจะเคลื่อนที่เป็นเส้นตรงในแต่ละเทิร์นด้วยความเร็ว v ซึ่งประกอบด้วยจำนวนเต็ม vx และ vy (เริ่มต้นด้วย (0,0)) ในช่วงเริ่มต้นของการเปิดแต่ละครั้งโปรแกรมของคุณสามารถเปลี่ยน vx และ vy เช่นนั้น: abs(vx2-vx1) + abs(vy2-vy1) <= …

15
ปลดล็อคล็อคของคุณ
คุณล็อคจักรยานของคุณด้วยรหัสล็อค 3 หลัก ตอนนี้คุณต้องการไปนั่งและต้องปลดล็อคด้วยความช่วยเหลือของโปรแกรมต่อไปนี้ อินพุต พารามิเตอร์ที่ 1 การรวมกันของล็อคของคุณอยู่ในสถานะล็อค มันจะต้องแตกต่างจากพารามิเตอร์ที่ 2 (= การรวมกันของสถานะปลดล็อค ) (หรืออาจถูกขโมยจักรยานของคุณ!) ช่วง 000..999 ต้องไม่ละเว้นศูนย์นำหน้า พารามิเตอร์ที่ 2 การรวมกันของล็อคของคุณอยู่ในสถานะปลดล็อค ค่านี้เป็นเป้าหมายของคุณ ช่วง 000..999 ต้องไม่ละเว้นศูนย์นำหน้า เอาท์พุต รายการของแต่ละรัฐของการรวมกันล็อคหลังจากแต่ละ "การหมุน" รวมถึงสถานะเริ่มต้น (ซึ่งมักจะเป็นพารามิเตอร์ที่ 1) และขั้นตอนสุดท้าย (ซึ่งมักจะเป็นพารามิเตอร์ที่ 2) ขั้นตอนวิธี คุณเริ่ม "หมุน" หลักแรกทีละหนึ่งจนกว่าคุณจะถึงตัวเลขที่ถูกต้องในสถานะปลดล็อค แต่เพราะคุณอยู่ในความรู้เกี่ยวกับการปลดล็อครหัสทั้งคุณหมุนหลักในทิศทางที่คุณต้องมีจำนวนน้อยที่สุดของการหมุนไปถึงหลักในการปลดล็อครัฐ ในกรณีที่เสมอกันคุณสามารถเลือกทิศทางใดก็ได้ที่คุณต้องการ เมื่อคุณถึงหลักแรกที่ถูกต้องคุณจะเริ่มขั้นตอนเดียวกันกับที่ 2 และจากนั้นด้วย 3 ลำดับของตัวเลขคือการเข้าใจว่าเป็นวงกลม: ... 9 0 1 2 3 …

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