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

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

1
เรารักปริศนาประหลาดของเราพวกเราชาวอังกฤษ
ในหนังสือพิมพ์อังกฤษไม่กี่มีเกมที่รู้จักกันเป็นHidato มันค่อนข้างคล้ายกับSudokuแม้ว่าจะมี 1-9 อยู่ในแถวและบล็อก แต่มันเกี่ยวกับการวางตัวเลขเพื่อให้พวกเขาเชื่อมต่อกันตามลำดับจาก01ไปจนถึงที่สูงที่สุดดังนั้นพวกเขาจึงสัมผัสในแนวนอนแนวทแยงมุมหรือแนวตั้ง . อินพุตจะมีหลายบรรทัดคั่นด้วย\nบล็อกที่คั่นด้วยช่องว่างซึ่งคุณสามารถสมมติว่ามีความกว้างสองอักขระ แต่ละบล็อกจะเป็นตัวเลขพื้นที่ว่างที่จะเติม (ระบุโดย--) หรือผนังที่ไม่สามารถมีตัวเลขใน ( XX) ผลลัพธ์ของคุณควรตรงกับหนึ่งที่ให้ไว้แม้ว่าจะมีบล็อกว่างที่มีหมายเลข โปรดทราบว่าอาจไม่มีเอกลักษณ์หรือแม้แต่การดำรงอยู่ของวิธีการแก้ปัญหา - บางคนอาจให้ผลคูณเนื่องจากความกำกวมของพวกเขาเช่น Sudoku และบางคนอาจไม่สามารถแก้ไขได้อย่างแท้จริงในกรณีนี้คุณควรให้ผลลัพธ์ที่ผิดพลาดสามารถสันนิษฐานได้ว่าอินพุตมีการจัดรูปแบบดังนี้ Language: XX bytesใช้ส่วนหัวมาตรฐาน มีความสุขในการเล่นกอล์ฟ! ตัวอย่าง ปัจจัยการผลิต01 XX 03, 01 -- 04, 01 --ฯลฯ ควรทั้งหมดผลตอบแทนบางสิ่งบางอย่างfalsey การป้อนข้อมูล: 01 -- -- -- XX 05 เอาท์พุท: 01 03 04 02 XX 05 การป้อนข้อมูล: -- 33 35 …

1
เขียน Censor D * mn ที่ไม่คลุมเครือ
การตรวจจับเป็นเครื่องมือทั่วไปที่ใช้กับ interwebs แต่พวกเขามักตรวจข่าวมากเกินไปและทำให้คำสาปแช่งคลุมเครือต่อผู้อ่าน และบางครั้งพวกเขาตรวจข่าวไม่เพียงพอดังนั้นคำเหล่านั้นจึงยังคงขุ่นเคือง งานของคุณคือแก้ไขมัน งานของคุณ เขียนโปรแกรม / ฟังก์ชั่น / อะไรก็ตามที่ใช้สองรายการและสตริง ["hello", "goodbye", "belgium", "offensive", "jumping", "hypercool"]รายการแรกจะเป็นในพจนานุกรมของทุกคำในภาษาของคุณเช่น: ต่อไปจะเป็นส่วนหนึ่งของรายการแรกที่มีทั้งหมดของความไม่พอใจ["belgium", "offensive"]คำในภาษา: คำในรายการเหล่านี้รับประกันว่าจะมีตัวอักษรตัวพิมพ์เล็กเท่านั้นของตัวอักษร สตริงเป็นวลีที่คุณจะต้องตรวจสอบ มันจะทำจากคำจากพจนานุกรมคั่นด้วยช่องว่าง:"Goodbye offensive belgium" ค่าส่งคืนจะถูกตรวจสอบวลีนั้น อย่างไรก็ตามคุณต้องเซ็นเซอร์ในวิธีที่แน่นอน โดยเฉพาะอย่างยิ่งสำหรับแต่ละคำในรายการที่ไม่เหมาะสมคุณต้องตรวจสอบตัวอักษรให้มากที่สุดเท่าที่จะเป็นไปได้ในขณะที่ยังคงชัดเจนในพจนานุกรมหลัก Goodbye o******** b******ดังนั้นที่นี่มันจะเป็น: ชี้แจง รหัสของคุณต้องตีความคำที่เป็นตัวพิมพ์ใหญ่ - เล็ก แต่กลับมาพร้อมกับการใช้อักษรตัวพิมพ์ใหญ่เริ่มต้น หากมีคำตอบที่ดีที่สุดหลายข้อให้เลือกข้อใดข้อหนึ่ง หากการเซ็นเซอร์ที่ไม่ชัดเจนนั้นเป็นไปไม่ได้ให้ตรวจสอบจดหมายฉบับเดียวที่มีการตีความที่เป็นไปได้น้อยที่สุด (หากเป็นไปได้หลายฉบับ กรณีทดสอบ ["hello", "goodbye", "belgium", "offensive", "jumping", "hypercool"] ["belgium", "offensive"] "Goodbye offensive belgium" …

3
เล่นกอล์ฟกับ Python Import
เมื่อใดจึงจะมีประโยชน์ในการใช้อินไลน์การใช้เพียงครั้งเดียวในการนำเข้าใน Python ตัวอย่างเช่น: __import__("x").doSomething() ด้านบนสั้นกว่าด้านล่างหรือไม่? import x x.doSomething() หรือ from x import* doSomething()
16 code-golf  tips  python 

5
Code Golf: การแยกผลลัพธ์ของ Google
เมื่อคุณค้นหาบางอย่างใน google ภายในหน้าผลลัพธ์ผู้ใช้สามารถเห็นลิงค์สีเขียวสำหรับหน้าแรกของผลการค้นหา ในรูปแบบที่สั้นที่สุดที่เป็นไปได้ไบต์ใช้ภาษาใด ๆ แสดงลิงค์เหล่านั้นไปยัง stdout ในรูปแบบของรายการ นี่คือตัวอย่างสำหรับผลลัพธ์แรกของแบบสอบถามการแลกเปลี่ยนสแต็ก: อินพุต: คุณเลือก: URL ( www.google.com/search?q=stackexchange&ie=utf-8&oe=utf-8) หรือเพียงแค่stackexchange ผลผลิต: french.stackexchange.com/, stackoverflow.com/, fr.wikipedia.org/wiki/Stack_Exchange_Network, en.wikipedia.org/wiki/Stack_Exchange,... กฎ: คุณอาจจะใช้ shorteners URL หรือเครื่องมือค้นหาอื่น ๆ / APIs ตราบใดที่ผลจะเป็นเช่นเดียวกับการค้นหาhttps://www.google.com ไม่เป็นไรหากโปรแกรมของคุณมีผลข้างเคียงเช่นการเปิดเว็บเบราว์เซอร์เพื่อให้สามารถอ่านหน้า Google html / js ที่เป็นความลับได้เมื่อมีการแสดงผล คุณสามารถใช้ปลั๊กอินของเบราว์เซอร์ userscripts ... หากคุณไม่สามารถใช้ stdout ให้พิมพ์ไปที่หน้าจอด้วยเช่น การแจ้งเตือนป๊อปอัพหรือจาวาสคริปต์! คุณไม่ต้องการสิ้นสุด / หรือ http เริ่มต้น: // คุณไม่ควรแสดงลิงค์อื่น ๆ …

16
รหัสฉันคุกกี้
ท้าทาย รหัสคุกกี้ ASCII ของชนิดตามอินพุต อินพุต ประเภทคุกกี้ นี่คือหนึ่งในสามสายอักขระ: "ธรรมดา", "ช็อคโกแลต" หรือ "ถั่ว" อาจเป็นอาร์กิวเมนต์ฟังก์ชัน, stdin (หรือเทียบเท่าที่ใกล้เคียงที่สุด) หรืออาร์กิวเมนต์ไฟล์ เอาท์พุต คุกกี้ ASCII ดูด้านล่าง จะต้องเป็น ___ / \ | | \___/ สำหรับอินพุตธรรมดา ___ /. .\ | . | \___/ สำหรับใส่ช็อคโกแลตและในที่สุด ___ /^ \ |^ ^| \___/ สำหรับอินพุตอ่อนนุช ข้อมูลอื่น ๆ นี่เป็นความท้าทายครั้งแรกของฉันมันง่ายอย่างที่สามารถเป็นได้ ข้อเสนอแนะที่สร้างสรรค์มีความชื่นชมอย่างมาก ใช้วิธีการใด ๆ ที่จะทำ ช่องว่างต่อท้ายได้ดี …

2
Prime Nerd Sniping Pattern
วันที่ยาวที่สุดของปี - นี่คือบางสิ่งบางอย่างที่จะเสียเวลาเพิ่ม ... ภาพรวม โปรดทราบว่านี่ไม่ใช่การประกวดความนิยมและไม่ใช่ความท้าทายในการแสดงผลกราฟิก - คุณจะต้องส่งออกสตริง 65,536 เลขศูนย์และรายการที่คุณต้องการเท่านั้น ตัวอย่างข้อมูลสแต็คที่ด้านล่างของคำถามจะแสดงเป็นภาพขนาด 256 x 256 และคำนวณคะแนนอย่างเป็นทางการของคุณ จากนั้นคุณสามารถบันทึกภาพและอัปโหลดไปยังคำตอบของคุณพร้อมกับรหัสของคุณ (เนื่องจากเอาต์พุตสตริงจะไม่พอดีกับคำตอบ Stack Exchange 30,000 อักขระ) เกณฑ์การให้คะแนน คะแนนของภาพคือผลรวมของคะแนนของแต่ละพิกเซล คะแนนของแต่ละพิกเซลคือผลรวมของคะแนนย่อยสำหรับแต่ละที่ไม่ใช่ฉาก , ระยะทางที่สำคัญพิกเซลที่มีสีตรงข้ามที่จะพิกเซลที่ถูกยิง คะแนนย่อยสำหรับแต่ละพิกเซลดังกล่าวเป็น1/pที่pคือระยะทางที่สำคัญ ในบริบทของคำถามนี้คำศัพท์มีคำจำกัดความดังต่อไปนี้: Non-orthogonal:พิกเซลนั้นไม่ใช่ orthogonal กับพิกเซลที่ทำคะแนนหากมันไม่ได้อยู่ในแถวเดียวกันและไม่ได้อยู่ในคอลัมน์เดียวกัน ระยะนายกรัฐมนตรี:พิกเซลที่สำคัญระยะทางจากพิกเซลที่ถูกยิงได้ถ้าพวกเขาจะแยกจากกันโดยระยะทางยุคลิดที่เป็นว่าจำนวนเฉพาะ โดยเฉพาะอย่างยิ่งระยะทางคือระยะทางต่ำสุดที่วัดได้แบบ toroidally - พิกเซลด้านซ้ายบนคือระยะทางsqrt(2)จากพิกเซลด้านล่างขวา (ขอบทั้ง 4 ขอบ) สีตรงข้าม:พิกเซลมีสีตรงข้ามกับพิกเซลที่ให้คะแนนหากค่ารวมเป็น 1 นั่นคืออันแรกคือ 0 และที่สองคือ 1 หรือที่แรกคือ 1 และที่สองคือ 0 Stack …

8
พิมพ์จัตุรัสที่เล็กที่สุดที่สมบูรณ์แบบ
Squaring the Squareเป็นกระบวนการของการปูกระเบื้องสี่เหลี่ยมโดยใช้สี่เหลี่ยมอื่น ๆ เท่านั้น ถ้าปูกระเบื้องนี้เพียงใช้สี่เหลี่ยมขนาดแตกต่างกันแล้วมันจะถือเป็นที่สมบูรณ์แบบ ที่สมบูรณ์แบบที่เป็นไปได้ที่เล็กที่สุดสี่เหลี่ยมตารางเป็นตารางที่ 112x112 กระเบื้องใช้ 21 สี่เหลี่ยมที่แตกต่างกัน ฉันได้สร้างเวอร์ชันศิลปะ ascii ของสี่เหลี่ยมด้านล่างนี้: ################################################################################################################ # ## ## # # ## ## # # ## ## # # ## ## # # ## ## # # ## ## # # ## ## # # ## ## # # ## ## …

2
XKCD: ความผิดปกติของ Keyboard Mash
XKCDอีกแรงบันดาลใจจากการแข่งขัน หนึ่งนี้จะขึ้นอยู่กับแป้นพิมพ์ Mash ได้รับสายป้อนระบุตัวอักษรที่ผิดปกติสมมติว่าส่วนใหญ่ได้รับการพิมพ์บนแถวเดียวของมาตรฐาน QWERTY แป้นพิมพ์ของสหรัฐอเมริกา สตริงอินพุตสามารถมีการกดแป้น Shifted แต่พวกเขาจะไม่ประกอบด้วยผลตอบแทนการขนส่ง (Enter), CTRL / ALT ตัวละครที่ได้รับผลกระทบช่องว่างแท็บและ backspaces (เพราะมันจะโง่) แป้นตัวเลขจะไม่ถือว่าเป็นส่วนหนึ่งของแป้นพิมพ์สำหรับความท้าทายนี้ ความท้าทายคือการส่งออกอักขระที่ไม่ได้อยู่ในแถวแป้นพิมพ์เดียวกันกับอักขระส่วนใหญ่ในสตริงเดียว เอาต์พุตควรมีอักขระผิดปกติแต่ละตัวเพียงครั้งเดียวและไม่มีอักขระอื่น ในกรณีที่มีการนับที่เท่ากันของอักขระที่ผิดปกติทั่วทั้งสองแถวขึ้นไปการแบ่งไทเบรกจะถูกกำหนดตามลำดับนี้: รายการที่ไม่ซ้ำกันสั้นที่สุด แถวบนสุด อินพุต สตริงผ่านทั้ง STDIN, ARGV หรือพารามิเตอร์ฟังก์ชัน เอาท์พุต สตริงถึง STDOUT หรือฟังก์ชันส่งคืน ควรมีอักขระผิดปกติแต่ละตัวเพียงครั้งเดียว แต่ไม่จำเป็นต้องสั่งซื้อ ตัวอย่าง อินพุต: FJAFJKLDSKF7KFDJ เอาต์พุต: 7 อินพุต: ASDF11111 เอาต์พุต: ASDF อินพุต: lkjrhsDdftkjhrksRjd เอาต์พุต: rtR อินพุต: } * 3% …
16 code-golf 

1
Chute-A-Pearing
ที่นี่ห้าภาพของลูกแพร์และเป็นเหล็ก ราง : A: B: C: D: E: นี่เป็นเพียงภาพขนาดย่อคลิกเพื่อดูขนาดเต็ม! (ฉันทำสิ่งเหล่านี้กับAlgodoo ) รูปภาพของคลาสนี้มีคุณสมบัติดังต่อไปนี้เสมอ: พวกเขามักจะ 400 × 400 พิกเซลพร้อมพื้นหลังสีขาว (อาจไม่ขาวอย่างแน่นอนเนื่องจากภาพ SE ถูกบีบอัดอย่างสูญเปล่า) พวกมันมีลูกแพร์เหมือนกัน 1 ถึง 4 ลูกโดยแต่ละลูกจะหมุนและวางในตำแหน่ง (เกือบ) แต่อย่างใด พวกเขามีรางเหล็กแนวตั้งหนึ่งที่ถึงด้านล่างของภาพ นอกเหนือจากด้านล่างของรางรางและกล่องขอบลูกแพร์ ( ตัวอย่างกล่องขอบ ) ไม่เคยสัมผัสหรือออกจากขอบเขตของภาพ กล่องกระโดดของลูกแพร์ไม่เคยทับซ้อนกันหรือไม่ทับทางราง ลูกแพร์อาจอยู่ภายใต้ส่วนของรางลาดในขณะที่B , CและD (ดังนั้นกล่องที่ จำกัด ของรางอาจทับกล่องของลูกแพร์) รางอาจมีตำแหน่งแนวนอนและแนวตั้งตราบใดที่มีที่ว่างเพียงพอสำหรับกล่องขอบของลูกแพร์ที่จะพอดีกับข้างบนมันอย่างอิสระ (จะไม่มีการทดสอบแบบ "พอดีกับแทบ") และมองเห็นส่วนของคอลัมน์ ท้าทาย เขียนโปรแกรมที่ใช้ภาพดังกล่าวและส่งออกภาพอีก 400 × 400 ภาพพร้อมรางในที่เดียวกัน …

30
การสั่ง Antiferromagnetic
Antiferromagnetismเป็นสิ่งที่นักวิจัยของ IBM เคยกระโดดจากดิสก์ 1 เทราไบต์ไปยังดิสก์100 เทราไบต์ในอะตอมจำนวนเท่ากัน ในวัสดุที่แสดงแม่เหล็กแม่เหล็ก, ช่วงเวลาแม่เหล็กของอะตอมหรือโมเลกุลมักเกี่ยวข้องกับการหมุนของอิเล็กตรอนจัดเรียงในรูปแบบปกติกับสปินที่อยู่ใกล้เคียง (ใน sublattices ต่าง ๆ ) ชี้ไปในทิศทางตรงกันข้าม งานของคุณคือการเขียนโปรแกรมที่ดึงลำดับของอะตอมแม่เหล็กไฟฟ้าเช่นภาพที่แสดงด้านบน คุณจะต้องสามารถมีคู่อย่างน้อยสี่ชุดแม้ว่าคุณอาจมีมากขึ้น แต่ละคู่จะต้องแสดงดังนี้แม้ว่าพวกเขาจะต้องเป็นลูกศรจริง : ขึ้นลง ลงมา ขึ้นลง เอาต์พุตของคุณสามารถอยู่ในรูป ASCII หรือกราฟิกเอาต์พุต คุณสามารถสร้างได้เฉพาะฟังก์ชั่นหรือโปรแกรมทั้งหมด แต่ต้องใช้อินพุตและวาดหลายคู่ ตัวอย่างที่มีคำเท่านั้น : อินพุต: 1 ขึ้นลง ลงมา ขึ้นลง อินพุต: 2 ขึ้นลง ลงขึ้นลง ขึ้นลง ลูกศรที่ยอมรับได้: ↑ และ ↓ ⇅ และ ⇵ /|\ และ \|/ โปรดใส่คำตอบของคุณในภาษารูปแบบX ไบต์เนื่องจากอ่านง่าย …

2
สมการของไม้ขีดไฟ
งานของคุณในความท้าทายนี้คือการวิเคราะห์ "สมการจับคู่" ที่กำหนดเช่นนี้ ... ... และเพื่อดูว่าสามารถเปลี่ยนเป็นสมการที่ถูกต้องได้หรือไม่โดยการจัดเรียงการแข่งขันใหม่ ถ้าเป็นเช่นนั้นคุณจะต้องแสดงจำนวนการเคลื่อนไหวน้อยที่สุดและสมการที่เกิดขึ้น อินพุต อินพุตเป็นสตริงที่สามารถอ่านได้จาก STDIN, ถ่ายเป็นอาร์กิวเมนต์ฟังก์ชันหรือแม้กระทั่งเก็บไว้ในไฟล์ มันเป็นสมการที่แสดงถึงการจัดเรียงไม้ขีดไฟและสามารถอธิบายได้โดยใช้ EBNF ต่อไปนี้: input = term, "=", term ; term = number | (term, ("+" | "-"), term) ; number = "0" | (numeralExceptZero , {numeral}) ; numeralExceptZero = "1" | "2" | "3" | "4" | "5" | …
16 code-golf 

7
ความน่าจะเป็นที่อัศวินเข้าพักบนกระดานหมากรุกคืออะไร?
กำหนดขนาดของกระดานหมากรุกและตำแหน่งเริ่มต้นของอัศวินคำนวณความน่าจะเป็นที่หลังจากการkย้ายอัศวินจะอยู่ในกระดานหมากรุก บันทึก: อัศวินทำให้การเคลื่อนไหวที่เป็นไปได้ทั้งหมด 8 อย่างด้วยความน่าจะเป็นที่เท่ากัน เมื่ออัศวินอยู่นอกกระดานหมากรุกมันจะไม่สามารถกลับมาข้างในได้ อินพุต อินพุตถูกคั่นด้วยเครื่องหมายจุลภาคในแบบฟอร์ม: l,k,x,y โดยที่lความยาวและความกว้างของกระดานหมากรุกkคือจำนวนของการเคลื่อนไหวที่อัศวินจะทำxคือตำแหน่ง x ของตำแหน่งเริ่มต้นของอัศวินและyเป็นตำแหน่ง y ของตำแหน่งเริ่มต้นของอัศวิน โปรดทราบว่า0,0เป็นมุมซ้ายล่างของกระดานและl-1,l-1เป็นมุมบนขวาของกระดาน ขั้นตอนวิธีการ: เริ่มต้นด้วยพิกัดเริ่มต้นของอัศวิน ทำการย้ายที่เป็นไปได้ทั้งหมดสำหรับตำแหน่งนี้และคูณการเคลื่อนไหวเหล่านี้ด้วยความน่าจะเป็นของพวกเขาสำหรับการย้ายแต่ละครั้งจะเรียกใช้ฟังก์ชันต่อไปเรื่อย ๆ จนกว่าจะถึงเงื่อนไขการยกเลิก เงื่อนไขการสิ้นสุดคือถ้าอัศวินอยู่นอกกระดานหมากรุกในกรณีนี้คืน 0 หรือจำนวนการเคลื่อนไหวที่ต้องการหมดลงในกรณีนี้คืน 1 ดังที่เราเห็นได้ว่าสถานะปัจจุบันของการเรียกซ้ำขึ้นอยู่กับพิกัดปัจจุบันและจำนวนขั้นตอนที่ทำได้เท่านั้น ดังนั้นเราสามารถจดจำข้อมูลนี้ในรูปแบบตาราง เครดิต ความท้าทายนี้มาจากการโพสต์บล็อกของcrazyforcode.comเผยแพร่ภายใต้ใบอนุญาตCC BY-NC-ND 2.5 IN มันได้รับการดัดแปลงเล็กน้อยเพื่อให้มีความท้าทายมากขึ้น
16 code-golf  chess 

19
จัดรูปแบบจำนวนไบต์ที่กำหนดเป็นรูปแบบที่มนุษย์สามารถอ่านได้
ความท้าทายและแหล่งกำเนิด ใน Stack Overflow คำถามยอดนิยมคือ: วิธีการแปลงขนาดไบต์เป็นรูปแบบที่มนุษย์อ่านได้ใน java? คำตอบที่โหวตมากที่สุดมีวิธีที่ดีมากในการทำสิ่งนี้ แต่นี่คือ codegolf และเราทำได้ดีกว่าใช่ไหม? ความท้าทายของคุณคือการเขียนวิธีการหรือโปรแกรมที่ครอบคลุมจำนวนไบต์ที่กำหนดให้กับรูปแบบที่มนุษย์สามารถอ่านได้ที่ถูกต้องและพิมพ์ผลลัพธ์ออกมาเป็นมาตรฐานของภาษาของคุณ * * ดูกฎสำหรับการชี้แจงเพิ่มเติม! อินพุต อินพุตจะเป็นจำนวนบวกเสมอโดยมีค่าสูงสุด (2 ^ 31) -1 เอาท์พุต คุณอาจเลือกหากคุณต้องการระบบนานาชาติของหน่วยหรือสัญกรณ์ไบนารี่เป็นผลลัพธ์ (สัญกรณ์ SI อาจช่วยคุณประหยัดได้ไม่กี่ไบต์) SI: B, kB, MB, GB Binary: B, KiB, MiB, GiB หมายเหตุ: หน่วยที่สูงกว่า GB หรือ GiB จะไม่สามารถตั้งค่าได้เนื่องจากช่วงอินพุตที่ถูก จำกัด ตัวอย่างผลลัพธ์ ระบบหน่วยสากล: Input Output 0 0.0 B …
16 code-golf 

3
สร้างกำหนดการทดสอบไวน์ที่มีพิษ
เมื่อเร็ว ๆ นี้ที่ Puzzling.SE มีปัญหาที่ฉันเขียนเกี่ยวกับการพิจารณาว่าขวดสองขวดจากจำนวนที่มากกว่านั้นถูกวางยาพิษเมื่อพิษเปิดใช้งานเฉพาะในกรณีที่ส่วนประกอบทั้งสองเมา ในที่สุดมันก็กลายเป็นเรื่องยากลำบากโดยคนส่วนใหญ่จัดการเพื่อให้นักโทษลง 18 หรือ 19 คนโดยใช้อัลกอริทึมที่แตกต่างกันโดยสิ้นเชิง คำแถลงปัญหาเดิมมีดังต่อไปนี้: คุณคือผู้ปกครองของอาณาจักรยุคกลางที่ชอบปาร์ตี้ขว้างปา ข้าราชบริพารที่พยายามวางยาพิษขวดไวน์ของคุณครั้งหนึ่งก็โกรธที่จะรู้ว่าคุณจัดการเพื่อระบุขวดที่เขาวางยาพิษจาก 1,000 ขวดกับนักโทษเพียงสิบคน เวลานี้เขาช่างเก่งขึ้น เขาได้พัฒนาพิษผสม P : ของเหลวแบบไบนารีที่อันตรายถึงตายเมื่อส่วนประกอบที่ไม่เป็นอันตรายสองรายการผสมกัน มันคล้ายกับการทำงานของอีพอกซี เขาส่งลังอีก 1,000 ขวดให้คุณ ขวดหนึ่งมีองค์ประกอบและอีกคนหนึ่งมีองค์ประกอบC_a C_b( P = C_a + C_b) ทุกคนที่ดื่มส่วนประกอบทั้งสองจะตายในจังหวะของเที่ยงคืนในตอนกลางคืนพวกเขาดื่มส่วนประกอบสุดท้ายโดยไม่คำนึงถึงว่าเมื่อใดในวันที่พวกเขาดูดของเหลว ส่วนประกอบที่เป็นพิษแต่ละชิ้นจะยังคงอยู่ในร่างกายจนกว่าส่วนประกอบที่สองจะทำงานดังนั้นหากคุณดื่มหนึ่งองค์ประกอบในวันหนึ่งและอีกองค์ประกอบต่อไปคุณจะตายในเวลาเที่ยงคืนในตอนท้ายของวันที่สอง คุณมีสองวันก่อนงานปาร์ตี้ครั้งต่อไปของคุณ จำนวนผู้ต้องขังขั้นต่ำที่คุณต้องใช้ในการทดสอบคืออะไรเพื่อระบุขวดสองขวดที่เสียและขั้นตอนวิธีใดที่คุณต้องปฏิบัติตามกับจำนวนนักโทษ โบนัส นอกจากนี้สมมติว่าคุณมีผู้ต้องขังที่ จำกัด จำนวน 20 คนจำนวนขวดสูงสุดที่คุณสามารถทดสอบได้ในทางทฤษฎีและมาถึงข้อสรุปที่แม่นยำเกี่ยวกับขวดที่ได้รับผลกระทบ งานของคุณคือสร้างโปรแกรมเพื่อแก้ปัญหาโบนัส ได้รับnนักโทษโปรแกรมจะประดิษฐ์กำหนดการทดสอบว่าจะสามารถที่จะตรวจสอบทั้งสองขวดยาพิษในหมู่mขวดที่mมีขนาดใหญ่ที่สุดเท่าที่ทำได้ ในตอนแรกโปรแกรมของคุณจะป้อนหมายเลขNจำนวนนักโทษ จากนั้นจะแสดงผลลัพธ์: Mจำนวนขวดที่คุณจะพยายามทดสอบ ขวดเหล่านี้จะมีข้อความจากไป1M N บรรทัดที่มีฉลากของขวดนักโทษแต่ละคนจะดื่ม โปรแกรมของคุณจะใช้เป็นข้อมูลที่นักโทษเสียชีวิตในวันแรกโดยมีนักโทษอยู่ที่บรรทัดแรกบรรทัด1ถัดไป2เป็นต้นจากนั้นรายการจะแสดงผลลัพธ์: …

6
ASCII Art of the Day # 3 - ศาลเจ้าจีน
ในตอนของ AAOD วันนี้เรากำลังจะสร้างศาลเจ้าจีนที่มีความสูงต่างกัน พิจารณาตัวอย่างต่อไปนี้สำหรับ height ( N) 1ถึง6 N = 1: . | . ]#[ . \_______/ . ]###[ . \__]#.-.#[__/ |___| |___| |___|_|___| ####/_\#### |___| /_____\ N = 2: . | . ]#[ . \_______/ . ]###[ . \___________/ . ]#####[ . \___]#.---.#[___/ |__|_| |_|__| |__|_|___|_|__| #####/___\##### |_____| /_______\ …

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