Latar Belakang
The acak Domino Automaton adalah model mainan untuk gempa bumi, terinspirasi oleh automata seluler. Dalam tantangan ini, tugas Anda adalah untuk mensimulasikan versi model ini yang disederhanakan, dan mengumpulkan data darinya.
Otomat didefinisikan pada sebuah array Adari kbit, yang mewakili garis patahan yang gempa bumi dapat terjadi. Array membungkus di sekitar perbatasannya. Kondisi itu A[i] = 0berarti posisi iitu rileks , dan itu A[i] = 1berarti ia bersemangat , atau mengandung energi yang tersimpan. Pada setiap langkah waktu, satu posisi array dipilih secara acak. Jika posisi itu rileks, ia menjadi bersemangat (energi potensial ditambahkan ke sistem). Jika posisi itu sudah bersemangat, itu memicu gempa bumi, dan posisi yang dipilih dan semua posisi bersemangat yang terhubung lagi menjadi rileks. Jumlah posisi tereksitasi yang menjadi rileks adalah besarnya gempa.
Contoh
Pertimbangkan array
100101110111
panjang 12. Jika proses acak memilih bit kedua dari kiri, array diperbarui ke
110101110111
^
sejak bit yang dipilih (ditandai dengan ^) adalah 0. Jika kita selanjutnya memilih bit keempat dari kiri, yang merupakan terisolasi 1, gempa berkekuatan 1 dipicu, dan bit diatur ke 0lagi:
110001110111
^
Selanjutnya, kita dapat memilih bit kedua dari kanan, yang memicu gempa berkekuatan 5:
000001110000
^
Perhatikan bahwa semua 1s dalam "cluster" yang sama dengan yang dipilih adalah bagian dari gempa, dan array membungkus di perbatasan.
Tugas
Anda harus mengambil sebagai input dua bilangan bulat positif kdan t, dan tugas Anda adalah mensimulasikan otomat domino acak untuk tlangkah-langkah waktu, mulai dari karray panjang awal semua 0s. Output akan menjadi daftar Ldari kbilangan bulat, di mana L[i](dengan pengindeksan berbasis 1) berisi jumlah gempa bumi besarnya iyang terjadi selama simulasi. Anda diizinkan untuk meninggalkan nol yang tertinggal dari output.
Untuk input k = 15dan t = 1000, beberapa output representatif adalah
[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]
Aturan
Program dan fungsi lengkap diizinkan. Hitungan byte terpendek menang, dan celah standar tidak diizinkan.
Perhatikan bahwa Anda tidak perlu mensimulasikan robot menggunakan implementasi tertentu, hanya masalah output.