8
ลูคัสเทียบกับ ประตูโรงรถระยะไกล
คำปฏิเสธ ในขณะที่ฉันรู้ว่ามีคำถามที่เกี่ยวข้องโดยเฉพาะคำถามของฉันใช้ประตูโรงรถสองบานส่วนประกอบแบบสุ่มและฉันยังอ้างอิงเหตุการณ์นี้ในชีวิตจริงโดยเห็นลูกชายของฉันลดประตูโรงรถหนึ่งประตูขณะที่ฉันเดินออกจากประตู โรงจอดรถเมื่อสัปดาห์ที่แล้ว ... ไม่มีอะไรที่เหมือนกับการจ้องไปที่ศีรษะเพื่อให้น้ำไหลออกมาอย่างสร้างสรรค์! ;) พื้นหลัง ลูคัส (ลูกชายวัย 15 เดือนของฉัน) ชอบเล่นกับรีโมทโรงรถ รีโมตนี้มีสองปุ่มหนึ่งปุ่มสำหรับประตูโรงรถด้านซ้ายและปุ่มหนึ่งสำหรับประตูโรงรถด้านขวา ปุ่มทั้งสองทำงานในลักษณะเดียวกัน กดหนึ่งครั้งเพื่อให้ประตูเริ่มเปิดกดอีกครั้งเพื่อหยุดกดอีกครั้งเพื่อเริ่มปิดกดอีกครั้งเพื่อหยุดอีกครั้งและต่อไป ลูคัสชอบรีโมทนี้เขาจะสุ่มกดปุ่มใดปุ่มหนึ่งหรือทั้งสองอย่างหรือไม่มีเลย หากกดทั้งคู่จะไม่มีการส่งสัญญาณ แต่การกดปุ่มเพียงปุ่มเดียวจะเป็นการส่งสัญญาณ ดังนั้นความท้าทายของโค้ดกอล์ฟแบ่งออกเป็นสองส่วน: ส่วนที่หนึ่ง สร้างสตริงที่มีความยาว 60 ตัวอักษรแทนปุ่มสุ่มของลูคัสในเวลาหนึ่งนาที "สุ่ม" ในกรณีนี้หมายถึง "มีโอกาสเท่ากันของอินพุตแต่ละตัวที่แต่ละขีด" ตัวละครมีดังนี้: 0: Lucas กดปุ่มไม่ทั้งหรือกดทั้งสองปุ่ม ไม่ว่าจะด้วยวิธีใดไม่มีการส่งสัญญาณ 1: Lucas ปุ่มสำหรับประตูโรงรถด้านซ้ายถูกกด 2: Lucas ปุ่มสำหรับประตูโรงรถด้านขวาถูกกด ส่วนที่สอง ใช้สตริงที่สร้างขึ้นในส่วนที่หนึ่งจำลองการเปิดและปิดโรงจอดรถสองคันโดยใช้ตัวเลขเป็นตัวกระตุ้นการเปิดหยุดและปิดประตูเหล่านี้ ประตูโรงรถของฉันค่อนข้างเร็ว (ดูข้อความปฏิเสธความรับผิดชอบข้างต้นว่าเป็นเพราะอะไร) เมื่อคุณกดปุ่มจะใช้เวลาสี่วินาทีในการเปิดหรือปิดทั้งหมด ดังนั้นหากปิด: 0 วินาที: เปิด 0% (ปิด); เมื่อกดปุ่มประตูจะเริ่มเปิดขึ้น 1 …
15
code-golf