소 사방치기

면접 대비

시간 제한1초메모리 제한256 MB

요약
왼쪽 위 칸에서 오른쪽 아래 칸까지 아래와 오른쪽으로만 이동하면서 색이 다른 칸을 밟는 경로 수를 셉니다.
난이도

보통10점 중 4점

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

문제

사람이 사방치기를 즐기듯, 농부 존의 소들도 자기들끼리 할 놀이로 사방치기의 변형을 만들어 냈다. 몸무게가 1톤에 가까운 둔한 짐승이 하는 놀이라서 소 사방치기는 거의 언제나 난장판으로 끝나지만, 소들은 그래도 거의 매일 오후마다 놀이판을 벌인다.

놀이판은 RR행 CC열 격자다(2≤R≤152 \le R \le 15, 2≤C≤152 \le C \le 15). 각 칸은 빨간색이나 파란색으로 칠해져 있다. 소는 왼쪽 위 칸에서 출발해 여러 번 뛰어서 오른쪽 아래 칸에 도착한다. 한 번의 도약은 다음 세 조건을 모두 만족할 때만 유효하다.

  1. 뛰어서 도착하는 칸의 색이 지금 있는 칸의 색과 다르다.
  2. 뛰어서 도착하는 칸이 지금 있는 칸보다 적어도 한 행 아래에 있다.
  3. 뛰어서 도착하는 칸이 지금 있는 칸보다 적어도 한 열 오른쪽에 있다.

왼쪽 위 칸에서 오른쪽 아래 칸까지 가는 유효한 도약 순서가 몇 가지인지 구하라. 거쳐 가는 칸의 나열이 한 군데라도 다르면 서로 다른 방법으로 센다.

입력

첫째 줄에 두 정수 RR과 CC가 주어진다. 다음 RR개 줄에는 각각 문자 CC개가 주어진다. 각 문자는 빨간 칸을 뜻하는 R이거나 파란 칸을 뜻하는 B다.

출력

왼쪽 위 칸에서 오른쪽 아래 칸까지 뛰어가는 서로 다른 방법의 수를 출력한다.

예제5

  1. 예제 1

    입력
    4 4
    RRRR
    RRBR
    RBBR
    RRRR
    
    예상 출력
    3
    
  2. 예제 2

    입력
    2 2
    RB
    RB
    
    예상 출력
    1
    
  3. 예제 3

    입력
    2 2
    RB
    BR
    
    예상 출력
    0
    
  4. 예제 4

    입력
    3 3
    RBR
    BRB
    RBR
    
    예상 출력
    0
    
  5. 예제 5

    입력
    5 5
    BBRBB
    RRRRR
    BRRBR
    BRBBB
    RRRRR
    
    예상 출력
    9