받는 사람 5x5 안에 바이러스가 있습니다. 오염이 어떻게 전파되는지 아는 바와 같이, 당신의 임무는 오염의 마지막 단계를 출력하는 것입니다.
수신자
5x5의 2 차원 배열로 표현됩니다.
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
위치 와 오염되지 않은 위치를 의미합니다 .
바이러스가 전파되는 방법
- 오염 된 위치는 깨끗하지 않습니다.
- 인접한 위치 (북쪽, 동쪽, 남쪽 및 서쪽 셀) 중 2 개 이상이 오염 된 경우에만 다음 단계에서 깨끗한 위치가 오염됩니다.
- 오염의 마지막 단계는 더 이상 깨끗한 세포가 오염 될 수 없을 때 발생합니다.
견본
수신자가 위에서 설명한 오염의 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
출력에서 어떻게 발생할 수 있습니까? 중심 0이 2에 인접하지1
않습니까?