통학 경로

면접 대비

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

요약
격자에서 (1,1)에서 (a,b)까지 동쪽과 북쪽으로만 이동하는 경로 중 공사 중인 교차점 n개를 피하는 경로의 수를 센다. a와 b는 16 이하다.
난이도

쉬움10점 중 3점

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

문제

태호가 사는 JOI시는 남북 방향으로 곧게 뻗은 aa개의 도로와 동서 방향으로 곧게 뻗은 bb개의 도로에 의해 바둑판 모양으로 나뉘어 있다.

남북 방향의 aa개 도로에는 서쪽부터 차례로 1,2,…,a1, 2, \dots, a의 번호가 붙어 있다. 동서 방향의 bb개 도로에는 남쪽부터 차례로 1,2,…,b1, 2, \dots, b의 번호가 붙어 있다. 서쪽에서 ii번째 남북 방향 도로와 남쪽에서 jj번째 동서 방향 도로가 만나는 교차점을 (i,j)(i, j)로 나타낸다.

태호는 교차점 (1,1)(1, 1) 근처에 살고 있으며, 교차점 (a,b)(a, b) 근처에 있는 JOI 고등학교에 자전거로 통학한다. 자전거는 도로를 따라서만 이동할 수 있다. 태호는 통학 시간을 줄이기 위해 동쪽 또는 북쪽으로만 이동한다.

현재 JOI시에서는 nn개의 교차점 (x1,y1),(x2,y2),…,(xn,yn)(x_1, y_1), (x_2, y_2), \dots, (x_n, y_n)에서 공사가 진행 중이며, 태호는 공사 중인 교차점을 지날 수 없다.

태호가 교차점 (1,1)(1, 1)에서 교차점 (a,b)(a, b)까지 공사 중인 교차점을 피하면서 동쪽 또는 북쪽으로만 이동하여 통학하는 방법은 몇 가지인가? 통학 경로의 개수 mm을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 두 정수 aa, bb가 공백으로 구분되어 주어진다. 이는 각각 남북 방향 도로의 개수와 동서 방향 도로의 개수를 나타내며, 1≤a,b≤161 \le a, b \le 16을 만족한다.

둘째 줄에 공사 중인 교차점의 개수를 나타내는 정수 nn이 주어진다. nn은 1≤n≤401 \le n \le 40을 만족한다.

이어지는 nn개의 줄에는 공사 중인 교차점의 위치가 주어진다. ii번째 줄에는 공백으로 구분된 두 정수 xix_i, yiy_i가 주어지며, 교차점 (xi,yi)(x_i, y_i)가 공사 중임을 나타낸다. xix_i, yiy_i는 1≤xi,yi≤161 \le x_i, y_i \le 16을 만족한다.

출력

태호의 통학 경로의 개수 mm만을 한 줄에 출력한다.

힌트

아래 그림은 a=5a = 5, b=4b = 4, n=3n = 3이고 공사 중인 교차점이 (2,2)(2, 2), (2,3)(2, 3), (4,2)(4, 2)인 경우를 나타낸다.

이 경우 통학 경로는 m=5m = 5가지가 있다. 다섯 가지 통학 경로를 모두 그림으로 나타내면 다음과 같다.

예제1

  1. 예제 1

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