설명
#는 살아 있는 칸, .는 죽은 칸인 \(R \times C\) 격자가 주어질 때 콘웨이 라이프 게임의 다음 세대를 구한다. 살아 있는 칸은 (8개 이웃 중) 살아 있는 이웃이 \(2\)개 또는 \(3\)개이면 생존하고, 죽은 칸은 살아 있는 이웃이 정확히 \(3\)개이면 살아난다. 그 외의 칸은 다음 단계에 죽는다. 격자 밖의 칸은 죽은 것으로 본다.
제약
입력 형식
첫 줄에 \(R\)과 \(C\)가 주어진다 (\(1 \le R, C \le 30\)). 다음 \(R\)개의 줄에는 각각 # 또는 .인 문자 \(C\)개가 주어진다.
출력 형식
한 단계 후의 \(R \times C\) 격자를 출력한다.
예제 1
입력
3 3
.#.
.#.
.#.
출력
...
###
...
예제 2
입력
2 2
##
##
출력
##
##
예제 3
입력
1 3
...
출력
...
문제 정보
riseoj 작성
출처 RiseOJ Basics
태그