พื้นหลัง
สุ่ม 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
อาร์เรย์ของทุก0
s ส่งออกของคุณจะเป็นรายการL
ของk
จำนวนเต็มที่L[i]
(1 ตามการจัดทำดัชนี) มีตัวเลขของการเกิดแผ่นดินไหวของขนาดi
ที่เกิดขึ้นระหว่างการจำลอง คุณได้รับอนุญาตให้ดร็อปศูนย์ต่อท้ายจากเอาต์พุต
สำหรับอินพุตk = 15
และt = 1000
เอาต์พุตที่เป็นตัวแทนบางส่วนนั้น
[117, 97, 45, 26, 10, 5, 3, 1, 3, 0, 0, 0, 0, 0, 0]
[135, 91, 58, 21, 8, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0]
[142, 63, 51, 31, 17, 4, 2, 1, 1, 0, 0, 0, 0, 0, 0]
[106, 75, 45, 30, 16, 8, 5, 2, 2, 0, 0, 0, 0, 0, 0]
[111, 96, 61, 22, 3, 8, 3, 2, 0, 0, 0, 1, 0, 0, 0]
กฎระเบียบ
อนุญาตให้ใช้ทั้งโปรแกรมและฟังก์ชั่นเต็มรูปแบบ การนับไบต์ที่สั้นที่สุดชนะและช่องโหว่มาตรฐานไม่ได้รับอนุญาต
โปรดทราบว่าคุณไม่จำเป็นต้องจำลองหุ่นยนต์โดยใช้การใช้งานเฉพาะด้าน