Điều hướng chính

Nhắn tin NQ Coding

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập robotgiaohang

Robot giao hàng

Dễ Quy hoạch độngTổ hợp

  • 100 Điểm
  • 1.5s Thời gian
  • 500M Bộ nhớ
  • 0% Tỉ lệ AC
  • 0 Số AC

Một kho hàng được biểu diễn bằng lưới ô vuông gồm \(m\) hàng và \(n\) cột. Hàng được đánh số từ \(1\) đến \(m\) (từ trên xuống), cột được đánh số từ \(1\) đến \(n\) (từ trái sang phải). Ô ở hàng \(i\), cột \(j\) được gọi là ô \((i, j)\).

Một robot vận chuyển bắt đầu ở ô \((1,1)\) và cần tới ô \((m,n)\). Ở mỗi bước, robot chỉ được di chuyển sang ô kề bên phải \((i, j+1)\) hoặc ô kề phía dưới \((i+1, j)\). Trong kho có \(k\) ô bị chất đồ, robot tuyệt đối không được bước vào các ô này.

Hai lộ trình được coi là khác nhau nếu tồn tại một ô nằm trên lộ trình này mà không nằm trên lộ trình kia.

Yêu cầu: đếm số lộ trình khác nhau đưa robot từ \((1,1)\) đến \((m,n)\), tránh các ô bị chất đồ. Vì kết quả có thể rất lớn, hãy in ra phần dư khi chia cho \(10^9+7\).

Input

  • Dòng đầu tiên chứa ba số nguyên dương \(m, n, k\).
  • \(k\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(h_i, c_i\) cho biết ô \((h_i, c_i)\) bị chất đồ.
  • Đảm bảo hai ô \((1,1)\) và \((m,n)\) không bị chất đồ.

Output

Một số nguyên duy nhất: số lộ trình theo modulo \(10^9+7\).

Constraints

  • \(1 \le m, n \le 10^5\); \(0 \le k \le 2000\).
  • \(1 \le h_i \le m\); \(1 \le c_i \le n\).
  • 40% số test: \(m, n, k \le 1000\).
  • 20% số test: \(k = 0\), \(10^4 \le m, n \le 10^5\).
  • 20% số test: \(k = 1\), \(10^4 \le m, n \le 10^5\).
  • 20% số test: \(1 \le k \le 2000\), \(10^4 \le m, n \le 10^5\).

Sample Input

4 5 3
1 3
2 2
4 4

Sample Output

1

Explanation

Chỉ có đúng một lộ trình hợp lệ: \((1,1) \to (2,1) \to (3,1) \to (3,2) \to (3,3) \to (3,4) \to (3,5) \to (4,5)\). Các hướng đi khác đều bị chặn bởi ô \((1,3)\), \((2,2)\) hoặc \((4,4)\).

Bình luận

Chưa có bình luận nào.