SỐ CÁCH ĐI

Nguồn: None

Để thử nghiệm một xe tự hành, người ta tiến hành một thí nghiệm cho xe vượt qua các chướng ngai vật và đi đến đích. Có thể mô tả thí nghiệm này như sau:

Có một lưới ô vuông kích thước ~ m × n ~, các hàng đánh số từ 1 đến ~ m ~ từ trên xuống dưới và các cột đánh số từ 1 đến ~ n ~ từ trái qua phải; ô nằm ở giao của hàng ~ i ~ với cột ~ j ~ ký hiệu là ~ (i, j) ~. Trên một số ô có vật cản không thể đi qua được, các ô còn lại không có vật cản. Xe tự hành xuất phát từ ô ~ (1,1) ~. Mỗi bước nó chỉ có thể di chuyển đến ô chung cạnh ở bên phải hoặc bên dưới nếu như các vị trí này còn nằm trong lưới và không có vật cản. Chính xác hớn từ ô ~ (i,j) ~ xe chỉ có thể di chuyển đến ô ~ (i, j+1) ~ hoặc ~ (i+1, j) ~ nếu như các ô này còn trong lưới và không có vật cản. Xe tự hành cần di chuyển đến ô ~ (m,n) ~.

Viết chương trình đếm xem có bao nhiêu cách khác nhau để di chuyển xe tự hành từ ô ~ (1,1) ~ đến ô ~ (m,n) ~ theo các qui tắc trên? Hai cách đi được coi là khác nhau nếu như có ít nhất một ô có trên hành trình của cách đi này nhưng không có trên hành trình của cách đi kia.

Dữ liệu vào

  • Dòng đầu tiên ghi ba số nguyên dương ~ m, n, k ~ với ~ m, n ~ là số hàng và số cột của lưới; ~ k ~ là số lượng ô có vật cản ~ (1 ≤ m, n ≤ 10^5; 0 ≤ k ≤ 2000) ~
  • ~ k ~ dòng tiếp theo, dòng thứ ~ i ~ ghi hai số nguyên ~ (r_i, c_i) ~ thể hiện ~ (r_i, c_i) ~ là ô chứa vật cản ~ (1 ≤ r_i ≤ m; 1 ≤ c_i ≤ n) ~ Dữ liệu đảm bảo rằng các ô ~ (1,1) ~ và ~ (m, n) ~ là các ô không có vật cản.

Kết quả

Ghi một số nguyên duy nhất là số lượng cách di chuyển khác nhau của xe tự hành từ ô ~ (1,1) ~ đến ô ~ (m, n) ~. Vì con số này có thể rất lớn nên chỉ cần in ra phần dư của nó khi chia cho ~ 10^9 + 7 ~.

Ràng buộc

  • Có 40% số test có ~ 1 ≤ m, n, k ≤ 1000 ~
  • Có 20% số test khác có ~ k = 0; 10^4 ≤ m, n ≤ 10^5 ~
  • Có 10% số test khác có ~ k = 1; 10^4 ≤ m, n ≤ 10^5 ~
  • Có 30% số test còn lại có ~ 1 ≤ k ≤ 2000; 10^4 ≤ m, n ≤10^5 ~

Ví dụ:

Input 1

3 4 2
2 2
2 3 

Output 1

2 

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. gialinh_10van (23/25)
  2. phamnhi (21/77)
  3. hoangha_10van (15/21)
Trong 7 ngày
  1. phamnhi (126/299)
  2. ilpnvm (68/110)
  3. dambinh (61/97)
Trong 30 ngày
  1. ducchinh (184/249)
  2. hienpham (183/244)
  3. bichngoc (179/266)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 37787

Lưu Hải Phong - 2020
[email protected]