만드는 중입니다

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

생쥐의 여행

면접 대비

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

요약
R행 C열 격자에서 (1,1)에서 (R,C)까지 오른쪽과 아래로만 이동하되, 고양이가 있는 K개의 칸을 피하는 경로의 수를 센다.
난이도

쉬움10점 중 3점

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

문제

당신은 커다란 실험실의 우리에 사는 생쥐입니다. 실험실은 정사각형 우리들이 격자 모양으로 배열되어 있으며, 모두 RR개의 행과 CC개의 열로 이루어져 있습니다 (1≤R,C≤251 \le R, C \le 25).

운동을 위해 실험실 주인은 우리 사이를 이동하도록 허락해 주었습니다. 이동은 같은 행에서 바로 오른쪽에 인접한 우리로 가거나, 같은 열에서 바로 아래에 인접한 우리로 가는 것만 가능합니다. 대각선, 왼쪽, 위쪽으로는 이동할 수 없습니다.

당신의 우리는 실험실의 한 모서리인 (1,1)(1, 1)(가장 위쪽 행, 가장 왼쪽 열)에 있습니다. 당신은 대각선 반대편 모서리인 (R,C)(R, C)(가장 아래쪽 행, 가장 오른쪽 열)에 사는 형제를 방문하려고 합니다. 그런데 일부 우리에는 고양이가 있어 그 우리는 지나갈 수 없습니다.

숫자를 좋아하는 형제는 고양이가 있는 우리를 한 번도 지나지 않고 당신의 우리에서 형제의 우리까지 가는 서로 다른 경로가 몇 개인지 알고 싶어 합니다. 고양이를 피하는 경로의 개수를 계산하는 프로그램을 작성하세요.

입력

첫째 줄에 행의 개수와 열의 개수를 나타내는 두 정수 RR과 CC가 공백 하나로 구분되어 주어집니다. 둘째 줄에는 고양이가 있는 우리의 개수 KK가 주어집니다. 이어지는 KK개의 줄에는 각각 고양이가 있는 우리의 행 번호와 열 번호가 순서대로 주어집니다. KK개의 고양이 우리는 서로 중복되지 않으며, 모두 유효한 위치입니다. 또한 (1,1)(1, 1)과 (R,C)(R, C)는 고양이 우리가 아닙니다.

출력

(1,1)(1, 1)에 있는 당신의 우리에서 (R,C)(R, C)에 있는 형제의 우리까지 가는 경로의 개수를 음이 아닌 정수로 출력하세요. 출력값은 반드시 1,000,000,000보다 작다고 가정할 수 있습니다.

예제2

  1. 예제 1

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

    입력
    3 4
    3
    2 3
    2 1
    1 4
    
    예상 출력
    1