Фон
Випадковий Domino Automaton іграшки модель для землетрусів, натхненна клітинними автоматами. У цьому виклику ваше завдання - імітувати спрощену версію цієї моделі та збирати з неї дані.
Автомат задається на масив Aз kбітів, що представляють собою лінії розлому , на якому може статися землетрус. Масив обертається біля своїх кордонів. Ця умова A[i] = 0означає, що положення iє розслабленим і A[i] = 1означає, що воно збуджене або містить накопичену енергію. На кожному етапі часу одне положення масиву вибирається рівномірно. Якщо це положення розслаблене, воно стає збудженим (потенційна енергія додається в систему). Якщо це положення вже збуджене, воно спричиняє землетрус, і вибране положення та всі збуджені до нього положення знову розслабляються. Кількість збуджених позицій, які розслабляються, - це магнітуда землетрусу.
Приклад
Розглянемо масив
100101110111
довжини 12. Якщо випадковий процес вибирає другий біт зліва, масив оновлюється до
110101110111
^
оскільки обраний біт (позначений символом ^) був 0. Якщо ми виберемо четвертий біт зліва, який є ізольованим 1, спрацьовує заземлення магнітудою 1, і біт встановлюється 0знову:
110001110111
^
Далі ми можемо вибрати другий біт справа, який викликає землетрус магнітудою 5:
000001110000
^
Зауважте, що всі 1s у тому ж "кластері", що й обраний, були частиною землетрусу, а масив обертається навколо кордону.
Завдання
Ви повинні взяти в якості двох цілих чисел kі t, ваше завдання - імітувати випадковий автомат доміно для tчасових кроків, починаючи з початкового kмасиву всіх 0s. Ваш висновок повинен бути список 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]
Правила
Дозволені як повні програми, так і функції. Виграє найкоротший байт, а стандартні лазівки заборонені.
Зауважте, що вам не потрібно моделювати автомат за допомогою будь-якої конкретної реалізації, лише вихід має значення.