8
กำลังวิเคราะห์แผ่นดินไหว
พื้นหลัง สุ่ม Domino ออโตมาเป็นรูปแบบของเล่นสำหรับแผ่นดินไหวแรงบันดาลใจจากเซลล์ออโต ในความท้าทายนี้งานของคุณคือการจำลองแบบจำลองที่ง่ายขึ้นของรุ่นนี้และรวบรวมข้อมูลจากมัน หุ่นยนต์ถูกกำหนดบนอาเรย์Aของkบิตแสดงถึงเส้นความผิดที่อาจเกิดแผ่นดินไหว อาร์เรย์ล้อมรอบที่ชายแดน เงื่อนไขA[i] = 0หมายถึงตำแหน่งiนั้นผ่อนคลายและA[i] = 1หมายความว่ามันตื่นเต้นหรือมีพลังงานสะสม ในแต่ละขั้นตอนตำแหน่งหนึ่งของอาเรย์จะถูกเลือกแบบสุ่ม ถ้าตำแหน่งนั้นผ่อนคลายมันจะกลายเป็นตื่นเต้น (พลังงานที่มีศักยภาพจะถูกเพิ่มเข้าไปในระบบ) หากตำแหน่งนั้นตื่นเต้นแล้วมันจะทำให้เกิดแผ่นดินไหวและตำแหน่งที่เลือกและตำแหน่งที่ตื่นเต้นทั้งหมดที่เชื่อมต่อกับมันจะผ่อนคลายอีกครั้ง จำนวนของตำแหน่งที่ตื่นเต้นที่ผ่อนคลายคือขนาดของแผ่นดินไหว ตัวอย่าง พิจารณาอาร์เรย์ 100101110111 ความยาว 12. หากกระบวนการสุ่มเลือกบิตที่สองจากด้านซ้ายอาร์เรย์จะได้รับการอัพเดตเป็น 110101110111 ^ นับตั้งแต่ได้รับการแต่งตั้งบิต (ทำเครื่องหมายด้วย^) 0เป็น หากเราเลือกบิตที่สี่จากซ้ายซึ่งถัดไปเป็นตัวแยก1จะเกิดการเกิดแผ่นดินไหวขนาด 1 ขึ้นและบิตจะถูกตั้งค่า0อีกครั้ง: 110001110111 ^ ต่อไปเราอาจเลือกบิตที่สองจากด้านขวาซึ่งก่อให้เกิดแผ่นดินไหวขนาด 5: 000001110000 ^ โปรดทราบว่าทั้งหมด1ใน "คลัสเตอร์" เดียวกันกับที่เลือกเป็นส่วนหนึ่งของการสั่นสะเทือนและอาร์เรย์ล้อมรอบที่ชายแดน งาน คุณจะต้องใช้เป็นปัจจัยการผลิตทั้งสองจำนวนเต็มบวกkและtและงานของคุณคือการจำลองหุ่นยนต์โดมิโนสุ่มสำหรับtขั้นตอนเวลาที่เริ่มต้นจาก length- เริ่มต้นkอาร์เรย์ของทุก0s ส่งออกของคุณจะเป็นรายการLของkจำนวนเต็มที่L[i](1 ตามการจัดทำดัชนี) มีตัวเลขของการเกิดแผ่นดินไหวของขนาดiที่เกิดขึ้นระหว่างการจำลอง คุณได้รับอนุญาตให้ดร็อปศูนย์ต่อท้ายจากเอาต์พุต สำหรับอินพุตk = …