만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

알프, 달려! 달려!

면접 대비

시간 제한2초메모리 제한1024 MB

요약
Alf가 3열짜리 n행 격자의 첫 행에서 출발해 벽을 피하며 아래로 내려갈 때 모을 수 있는 동전의 최대 개수를 구합니다.
난이도

쉬움10점 중 3점

유형
동적 계획법, 행렬
정답자
아직 제출이 없습니다

문제

지금 알프는 악몽을 꾸고 있다. 꿈속에서 그는 장애물이 가득한 도로를 달리고, 도로 곳곳에는 동전도 흩어져 있다.

도로는 n×3n \times 3 표이다. 각 칸은 비어 있거나, 벽이거나, 동전이다. 알프는 길이가 nn인 변을 따라 달린다. 첫 번째 행에서 출발하며, 그 행의 세 칸 중 어느 칸에서 시작해도 된다. 벽에 부딪히거나, 도로를 끝까지 지나 nn행에 도달할 때까지 달린다.

알프가 xx행 yy열, 즉 (x;y)(x;y) 칸에 있다면 다음 칸은 (x+1;y−1)(x+1; y-1), (x+1;y)(x+1; y), (x+1;y+1)(x+1; y+1) 중 하나이다. 다음 칸이 도로 안에 있고 벽이 아닐 때만 이동할 수 있다.

알프는 도로 지도를 가지고 있다. 한 번의 달리기에서 모을 수 있는 동전의 최대 개수를 구하는 프로그램을 작성하라.

입력

첫 줄에 행의 수 nn (1≤n≤1041 \le n \le 10^4)이 주어진다. 이어지는 nn개의 줄에는 각 행을 나타내는 세 문자가 주어진다. .은 빈 칸, C는 동전, W는 벽이다. 첫 번째 행의 칸이 모두 벽이면 알프는 곧바로 달리기를 끝낸다.

출력

모을 수 있는 동전의 최대 개수를 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    5
    W.W
    C.C
    WW.
    CC.
    CWW
    
    예상 출력
    3
    
  2. 예제 2

    입력
    4
    W.W
    CWC
    W.W
    CWW
    
    예상 출력
    2