atcoder#DPY. Grid 2

Grid 2

题目描述

H H 行、横 W W 列のグリッドがあります。 上から i i 行目、左から j j 列目のマスを (i, j) (i,\ j) で表します。

グリッドのうち、N N 個のマス (r1, c1), (r2, c2), , (rN, cN) (r_1,\ c_1),\ (r_2,\ c_2),\ \ldots,\ (r_N,\ c_N) は壁のマスであり、それら以外のマスはすべて空マスです。 マス (1, 1) (1,\ 1) および (H, W) (H,\ W) は空マスであることが保証されています。

太郎君は、マス (1, 1) (1,\ 1) から出発し、右または下に隣り合う空マスへの移動を繰り返すことで、マス (H, W) (H,\ W) まで辿り着こうとしています。

マス (1, 1) (1,\ 1) から (H, W) (H,\ W) までの太郎君の経路は何通りでしょうか? 109 + 7 10^9\ +\ 7 で割った余りを求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

H H W W N N r1 r_1 c1 c_1 r2 r_2 c2 c_2 : : rN r_N cN c_N

输出格式

マス (1, 1) (1,\ 1) から (H, W) (H,\ W) までの太郎君の経路は何通りか? 109 + 7 10^9\ +\ 7 で割った余りを出力せよ。

题目大意

给一个 H×WH\times W 的网格,每一步只能向右或向下走,给出一些坐标,这些坐标对应的位置不能经过,求从左上角 (1,1)(1,1) 走到右下角 (H,W)(H,W) 的方案数,答案对 109+710^9+7 取模。

3 4 2
2 2
1 4
3
5 2 2
2 1
4 2
0
5 5 4
3 1
3 5
1 3
5 3
24
100000 100000 1
50000 50000
123445622

提示

制約

  • 入力はすべて整数である。
  • 2  H, W  105 2\ \leq\ H,\ W\ \leq\ 10^5
  • 1  N  3000 1\ \leq\ N\ \leq\ 3000
  • 1  ri  H 1\ \leq\ r_i\ \leq\ H
  • 1  ci  W 1\ \leq\ c_i\ \leq\ W
  • マス (ri, ci) (r_i,\ c_i) はすべて相異なる。
  • マス (1, 1) (1,\ 1) および (H, W) (H,\ W) は空マスである。

Sample Explanation 1

経路は次図の 3 3 通りです。 ![](https://img.atcoder.jp/dp/grid\_1\_0\_muffet.png)

Sample Explanation 2

経路が存在しない場合もあります。

Sample Explanation 4

答えを 109 + 7 10^9\ +\ 7 で割った余りを出力することを忘れずに。