#66. Đường đi “dưới” lưới (Mã bài: LOWGRID)

Bộ nhớ: 512 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Cho một lưới tọa độ hai chiều. Hãy tính số lượng đường đi khác nhau từ điểm gốc (0, 0) đến điểm đích (n, m) , tuân thủ các quy tắc sau:

  1. Các bước đi hợp lệ: Từ một điểm (x, y) bất kỳ, bạn chỉ có thể di chuyển đến điểm kề bên phải là (x+1, y) hoặc điểm kề phía trên là (x, y+1) .
  2. Điều kiện ràng buộc: Tại mọi điểm (x_i, y_i) trên đường đi, tọa độ x phải luôn lớn hơn hoặc bằng tọa độ y (tức là x_i \ge y_i ). Điều này có nghĩa là đường đi không bao giờ được vượt lên trên đường thẳng y=x .

Dữ liệu: Hai số nguyên n m ( 1 \le m \le n \le 50000 ).

Kết quả: Một số nguyên duy nhất là tổng số đường đi hợp lệ khác nhau.

Ví dụ:

Dữ liệu:

6 6

Kết quả:

132

Giới hạn:

  • Subtask #1: 50\% số điểm có 1 \le m \le n \le 200 ;
  • Subtask #2: 10\% số điểm có m=n \le 50000 ;
  • Subtask #3: 40\% số điểm còn lại không có ràng buộc bổ sung.