Wewnątrz odbiornika 5 x 5 znajduje się wirus. Ponieważ wiemy, w jaki sposób rozprzestrzenia się zanieczyszczenie, Twoim zadaniem jest wyjście z ostatniego etapu zanieczyszczenia.
Odbiorca
Będzie reprezentowany jako dwuwymiarowa tablica 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
Gdzie 1
oznacza pozycję, w której wirus został już zanieczyszczony, i 0
pozycję niezanieczyszczoną.
Jak rozprzestrzenia się wirus
- Zanieczyszczona pozycja nie może być czysta.
- Czysta pozycja zostanie zanieczyszczona w następnym etapie tylko wtedy, gdy co najmniej dwie jej sąsiednie pozycje (komórki północna, wschodnia, południowa i zachodnia) zostaną zanieczyszczone.
- Ostatni etap zanieczyszczenia ma miejsce, gdy nie można już zanieczyścić czystych komórek.
Próba
Wykorzystując jako etap 1 zanieczyszczenia opisanego powyżej odbiorcę, etap 2 będzie:
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
Etap 3 zanieczyszczenia będzie:
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
Etap 4 zanieczyszczenia będzie:
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
A etap 5 (w tym przykładzie ostatni) będzie:
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
Wyzwanie
Biorąc pod uwagę jeden stopień zanieczyszczenia, należy podać ostatni stopień zanieczyszczenia.
Możesz napisać pełny program lub funkcję. Możesz wziąć dane wejściowe jako tablicę / listę, jako oddzielne liczby, a nawet jako ciąg znaków. Wybiera najlepszy sposób, który pasuje do twojego języka.
Najkrótsza odpowiedź w bajtach wygrywa!
Kolejne przypadki testowe
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
jako przypadek testowy?
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
, który pozostaje niezmieniony.
1 0 1
wystąpić na wyjściu? Czy środkowe zero nie sąsiaduje z dwoma1
?