문제1078--지훈이의 인생게임

1078: 지훈이의 인생게임

실행시간 제한: 1 Sec  메모리사용 제한: 128 MB
제출: 16  통과: 10
[제출] [채점기록] [묻고답하기] [만든사람:]

문제 설명

게임을 좋아하는 지훈이는 프로그래밍 실습 시간에 교수님이 이야기한 "인생게임"을 듣고 이를 실행해보고자 한다.
실행을 위해 설치한 프로그램은 40x40의 제한된 크기에서 실행할 수 있는 프로그램이다.
그러나 게임이라고 하지만 이용자가 제어할 수 있는 것이 제한적이고 지켜 보기만 하는 특성에 금방 흥미를 잃은 지훈이는 다음 한 세대만 보고 프로그램을 종료하였다.

당신은 지훈이가 본 모습이 궁금해졌다. 
지훈이가 처음 입력했던 초기 값을 알려주면 지훈이가 본 인생게임 화면의 모습을 출력해보자. 

>- 존 호턴 콘웨이의 인생게임의 규칙 -<
각 세포는 죽어있거나 살아있는 두가지 상태중 한 가지 상태를 갖는다.
현재 세대의 세포들 전체의 상태가 다음 세대의 세포 전체의 상태를 결정하며 다음 세대에서 갖는 상태는 현재 자신의 상태와 이웃하는 여덟 개의 세포들 중 몇 개가 살아있는지만을 따지며 그 조건은 아래와 같다.

  1. 죽은 세포의 이웃 중 정확히 세 개가 살아있으면 그 세포는 살아난다('태어난다')
  2. 살아있는 세포의 이웃 중에 두 개나 세 개가 살아 있으면, 그 세포는 계속 살아 있는 상태를 유지하고, 이외에는 외로워서, 또는 숨이 막혀서 죽어버린다.

입력 설명

첫줄에는 테스트케이스 T가 입력된다.(1<=T<=15)
두번째 줄 부터 지훈이가 입력한 20x20사이즈의 초기 값이 입력되며 살아있는 세포는 1, 죽어있는 세포는 0으로 표현한다.

한 줄의 빈칸을 두고 초기 값이 테스트 케이스 만큼 반복된다.

출력 설명

<#T 2nd Generation>를 출력한 뒤(T는 테스트 케이스의 번호) 아랫줄에 지훈이가 본 인생게임의 화면을 출력하되 살아있는 세포는 1, 죽어있는 세포는 0으로 출력한다.

입력 예시 Copy

2
0 1 1 1 1 1 0 0 1 0 1 0 1 1 0 1 0 0 0 1
1 1 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 0 0
0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 1 1 1 0 1
1 0 0 0 1 1 1 1 0 1 0 1 1 1 0 0 0 1 0 1
1 1 1 1 0 1 1 1 0 1 0 0 0 1 0 1 0 1 1 0
0 1 0 1 0 0 0 1 1 0 1 1 1 0 1 0 1 1 1 0
0 0 0 1 1 0 1 0 1 1 1 0 1 0 1 0 1 1 0 1
0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 1 1 1 0 1
1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 0 1
0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 1
1 0 1 0 1 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0
0 0 1 1 1 1 0 0 1 0 1 0 0 1 0 1 0 0 0 1
0 0 0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 0
0 0 0 1 1 0 1 1 1 0 0 0 1 1 1 0 0 0 0 1
1 1 0 1 0 1 1 0 1 0 0 1 1 1 1 0 0 0 1 1
0 0 0 0 1 1 0 0 1 0 1 0 1 1 1 0 1 1 1 1
0 1 1 1 1 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0
0 1 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 1 0 0
0 1 1 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 1 0
1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 1 1 1 0 0

1 1 0 0 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 0
0 0 1 0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 0
1 1 0 1 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 1 0 0
1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1
1 1 0 1 1 1 1 0 1 0 0 1 1 1 0 1 0 1 1 0
0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0
0 1 0 1 0 1 1 0 1 0 0 1 0 1 0 0 1 0 0 1
0 1 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 0 1 0
0 1 0 1 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0
0 1 1 0 1 1 0 0 1 1 0 1 0 0 1 1 1 0 0 0
1 0 1 0 0 1 0 1 0 1 0 1 1 0 0 0 1 1 1 0
0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 0 0 0 1 0
1 1 0 1 0 1 1 1 1 1 1 1 0 1 0 1 1 0 1 0
1 1 1 1 1 1 0 0 0 0 1 0 1 0 1 0 1 1 1 1
0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0
1 0 1 1 0 0 0 0 0 1 0 1 0 0 0 1 0 1 1 0
0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0
1 1 0 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 1 0
0 1 1 1 1 1 0 1 0 0 0 1 1 1 0 1 0 0 0 1

출력 예시 Copy

<#1 2nd Generation>
1 0 0 0 1 1 0 1 0 0 0 0 1 0 0 1 1 0 0 0
1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0
1 0 1 0 0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 1
1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1
1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1
0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 1
0 1 1 0 1 0 1 1 0 0 1 0 1 1 0 0 0 0 0 1
1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1
1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0
0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0
0 1 1 0 0 0 1 0 0 1 1 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 1 1
0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 1
0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 1
0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 1 0
0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0
1 1 0 0 0 1 0 0 1 0 0 0 0 1 1 1 1 1 0 0
<#2 2nd Generation>
0 1 0 0 1 1 0 0 1 1 1 0 1 1 0 0 0 0 0 0
0 0 1 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0
1 1 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0
1 0 0 0 0 0 1 0 1 0 0 1 1 0 1 1 0 0 0 1
1 1 0 1 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1
0 1 0 0 1 1 1 0 1 0 1 1 1 1 1 0 1 0 0 1
1 1 0 1 0 1 0 1 1 0 1 0 0 0 1 1 0 0 0 0
1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 1 0 1 1 0 0 0 0 1 0 1 0 0 0
0 0 1 0 0 1 0 1 0 1 0 0 0 1 1 0 1 0 1 0
1 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1
1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 1
0 0 0 0 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 1
0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 1 0
1 0 0 1 1 0 0 0 1 1 1 1 0 1 1 0 1 0 0 0
1 1 0 0 0 1 0 0 1 0 1 0 1 0 1 0 1 1 1 0
1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 0 0 0 0 0

도움

교수님이 알려준 대로 그냥 만들면 된다.

출처/분류