Informatica Online Judge

  똥피하기 [1984 / 07C0]

Time Limit(Test case) : 2000(ms)
Number of users who solved : 11   Total Tried : 19


The Champion of this Problem (C++) : gs18111 - 0ms / 460byte
My Best Submission (C++) : N/A

[koistudy.net (34rd 정상민)]
Writer ID : [gs16098]

Background

M****Story를 하다가 사감선생님께 걸려 노트북을 뺏긴 동준이는 심심함을 참지 못하고 휴대폰으로 똥 피하기 게임을 시작했다.
게임판은 N행 7열로 이루어져 있으며 판 곳곳에는 똥이 있고 캐릭터가 똥에 닿으면 게임이 오버된다.
1초가 지날 때 마다 한 행씩 똥들이 내려오는데, 동준이는 이를 피하기 위해 4가지 선택을 할 수 있다.

1. 현재 열에 가만히 있기.
2. 좌/우로 1칸 이동하는 ‘걷기’
3. 좌/우로 2칸을 이동하는 ‘대쉬’
4. 좌/우로 3칸 떨어진 곳으로 순간 이동하는 ‘텔레포트’
(즉, 위아래로 이동할 수 없으므로 캐릭터는 항상 가장 아래쪽에 있다.)
단, 텔레포트는 한번 사용하면 에너지를 모으기 위해서 그 다음 1초동안은 사용할 수 없다고 한다.
이때, 동준이는 게임판이 다 내려올 때 까지 살아남을 수 있는 경우의 수가 궁금해졌다.
(단, 캐릭터는 처음에 N행 4열에서 시작한다.)
5. 행동을 하고 똥이 내려오는 것으로 본다.
6. 텔레포트를 제외하면 이동경로에 똥이 있으면 안된다.

Input

첫 줄에 행의 수 N(1<=N<=100)이 입력되고, 그 다음 줄부터 각 행의 초기상태가 주어진다. 빈 곳은 0, 똥은 1이다.

Output

게임판이 다 내려올 때 까지 살아남을 수 있는 경우의 수를 출력하여라.

IO Example

INPUT
3
1 1 1 0 1 1 1
1 1 1 0 1 1 1
1 1 1 0 1 1 1


OUTPUT
1

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]