Có một virus bên trong một người nhận 5x5. Như chúng ta biết làm thế nào nó truyền bá sự ô nhiễm của nó, nhiệm vụ của bạn là đưa ra giai đoạn cuối của sự ô nhiễm.
Người nhận
Nó sẽ được biểu diễn dưới dạng một mảng hai chiều của 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
Nơi 1
có nghĩa là một vị trí nơi virus đã bị ô nhiễm và 0
một vị trí không bị ô nhiễm.
Virus lây lan như thế nào
- Một vị trí bị ô nhiễm không thể sạch sẽ.
- Một vị trí sạch sẽ bị ô nhiễm trong giai đoạn tiếp theo chỉ khi ít nhất hai vị trí liền kề của nó (các tế bào bắc, đông, nam và tây) bị ô nhiễm.
- Giai đoạn cuối cùng của sự ô nhiễm xảy ra khi không còn tế bào sạch nào có thể bị ô nhiễm.
Mẫu vật
Sử dụng như giai đoạn 1 của sự nhiễm bẩn mà người nhận đã mô tả ở trên, giai đoạn 2 sẽ là:
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
Giai đoạn 3 của sự ô nhiễm sẽ là:
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
Giai đoạn 4 của sự ô nhiễm sẽ là:
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
Và giai đoạn 5 (trong ví dụ này, phần cuối cùng) sẽ là:
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
Thử thách
Được đưa ra làm đầu vào của một giai đoạn ô nhiễm, bạn nên đưa ra giai đoạn ô nhiễm cuối cùng.
Bạn được phép viết chương trình đầy đủ hoặc một chức năng. Bạn có thể lấy đầu vào dưới dạng mảng / danh sách, dưới dạng các số riêng biệt hoặc thậm chí dưới dạng chuỗi. Chọn cách tốt nhất phù hợp với ngôn ngữ của bạn.
Câu trả lời ngắn nhất bằng byte thắng!
Một trường hợp thử nghiệm khác
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
như một trường hợp thử nghiệm?
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
, mà vẫn không thay đổi.
1 0 1
xảy ra trong đầu ra? Không phải là trung tâm số 0 liền kề với hai1
s sao?