Всередині реципієнта є вірус 5х5. Оскільки ми знаємо, як вона поширює своє забруднення, ваша місія полягає у виведенні останньої стадії забруднення.
Одержувач
Він буде представлений у вигляді двовимірного масиву 5x5:
0 0 0 0 1
0 0 0 0 1
0 0 0 1 1
0 0 1 1 1
0 1 1 1 1
Де 1
означає місце, де вірус вже забруднений, а 0
місце не забруднене.
Як вірус поширюється
- Забруднене місце не може бути чистим.
- Чисте положення буде забруднене на наступній стадії лише у тому випадку, якщо принаймні два його сусідніх положення (клітини північної, східної, південної та західної) забруднені.
- Остання стадія зараження настає, коли більше чистих клітин не можна забруднювати.
Зразок
Використовуючи як стадію 1 забруднення реципієнта, описаного вище, стадія 2 буде:
0 0 0 0 1
0 0 0 1 1
0 0 1 1 1
0 1 1 1 1
0 1 1 1 1
Стадія 3 забруднення буде:
0 0 0 1 1
0 0 1 1 1
0 1 1 1 1
0 1 1 1 1
0 1 1 1 1
Етап 4 забруднення буде:
0 0 1 1 1
0 1 1 1 1
0 1 1 1 1
0 1 1 1 1
0 1 1 1 1
І етап 5 (у цьому прикладі останній) буде:
0 1 1 1 1
0 1 1 1 1
0 1 1 1 1
0 1 1 1 1
0 1 1 1 1
Виклик
Враховуючи одну стадію забруднення, слід вивести останню стадію забруднення.
Вам дозволяється писати повну програму або функцію. Ви можете взяти вхід як масив / список, як окремі числа, або навіть як рядок. Вибирає найкращий спосіб, який відповідає вашій мові.
Найкоротша відповідь у байтах виграє!
Ще один тестовий випадок
Input:
1 1 0 0 1
0 0 0 0 0
0 1 0 0 1
0 0 0 0 0
1 0 0 0 1
Output:
1 1 0 0 1
1 1 0 0 1
1 1 0 0 1
1 1 0 0 1
1 1 0 0 1
Input:
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
Output:
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
Input:
1 0 0 1 0
0 0 1 0 1
0 0 0 0 0
1 0 0 0 0
0 0 1 0 0
Output:
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
Input:
0 1 0 0 0
0 0 0 0 1
0 0 1 0 0
1 0 0 0 0
0 0 0 1 0
Output:
0 1 0 0 0
0 0 0 0 1
0 0 1 0 0
1 0 0 0 0
0 0 0 1 0
1 0 0 1 0 \ 0 0 1 0 1 \ 0 0 0 0 0 \ 1 0 0 0 0 \ 0 0 1 0 0
тестовий випадок?
0 1 0 0 0 \ 0 0 0 0 1 \ 0 0 1 0 0 \ 1 0 0 0 0 \ 0 0 0 1 0
, що залишається незмінним.
1 0 1
відбуватися у виході? Чи не центр нуля прилягає до двох1
s?