Chọn ĐTQG Hà Tĩnh 2026 - Chuyển quà

Xem dạng PDF

Gửi bài giải

Điểm: 30,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Cho một lưới ô vuông gồm ~n+1~ hàng và ~m+1~ cột. Các hàng được đánh số từ ~0~ đến ~n~ (từ trên xuống), các cột được đánh số từ ~0~ đến ~m~ (từ trái sang phải). Ô nằm giao giữa hàng ~i~ và cột ~j~ gọi là ô ~(i,j)~. Một Robot đang được đặt ở ô ~(0,0)~ cùng với gói quà, cần điều khiển Robot di chuyển đến ô ~(n,m)~ để trao gói quà đó. Biết rằng một bước di chuyển Robot từ ô ~(x,y)~ có thể sang một trong các ô ~(x,y+1)~, ~(x+1,y+1)~, ~(x+1,y)~.

Yêu cầu: Hãy đếm số cách khác nhau để điều khiển Robot di chuyển từ ô ~(0,0)~ đến ô ~(n,m)~. Hai cách được gọi là khác nhau nếu số bước di chuyển khác nhau hoặc trong quá trình di chuyển có một bước di chuyển khác nhau.

Input

Một dòng chứa hai số nguyên dương ~n~ và ~m~ ~(0 \le n,m \le 10^6)~.

Output

Một dòng chứa một số nguyên duy nhất là số cách di chuyển. Do kết quả có thể rất lớn nên chỉ cần in ra phần dư khi chia cho ~10^9+7~.

Scoring

Subtask Điểm Ràng buộc
1 ~20\%~ ~n,m \le 10~
2 ~30\%~ ~n,m \le 10^3~
3 ~30\%~ ~n,m \le 10^5~
4 ~20\%~ Không có giới hạn gì thêm

Sample Input 1

1 2

Sample Output 1

5

Notes

Có ~5~ cách di chuyển:

  • Cách ~1~: ~(0,0) \rightarrow (0,1) \rightarrow (0,2) \rightarrow (1,2)~;

  • Cách ~2~: ~(0,0) \rightarrow (0,1) \rightarrow (1,1) \rightarrow (1,2)~;

  • Cách ~3~: ~(0,0) \rightarrow (0,1) \rightarrow (1,2)~;

  • Cách ~4~: ~(0,0) \rightarrow (1,0) \rightarrow (1,1) \rightarrow (1,2)~;

  • Cách ~5~: ~(0,0) \rightarrow (1,1) \rightarrow (1,2)~.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.