Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
2.0s
Giới hạn bộ nhớ:
256M
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift
Chúng ta có một lưới ô vuông lớn có ~H~ hàng và ~W~ cột. Iroha hiện đang đứng ở vị trên trên cùng bên trái của lưới ô vuông này. Cô ấy sẽ lặp lại việc đi sang phải hoặc đi xuống dưới ô liền kề cho tới khi tới được ô dưới cùng bên phải.
Tuy nhiên, cô ấy không được phép di chuyển vào các ô nằm ở phía dưới hàng ~A~ và bên trái cột ~B~ (Có nghĩa là có ~A× B~ ô bị cấm) và không được di chuyển ra khỏi phạm vi của lưới ô vuông. Các ô còn lại thì có thể di chuyển vào bình thường.
Hãy tìm số cách cô ấy có thể đi đến ô dưới cùng bên phải.Vì con số này có thể rất lớn, hãy in ra kết quả sau khi module ~10^9 + 7~.
Input
- Một dòng duy nhất gồm 4 giá trị lần lượt là ~H, W, A~ và ~B~.
Giới hạn:
- ~1 \le H, W \le 100.000~
- ~1 \le A \lt H~
- ~1 \le B \lt W~
Output
- In ra số cách mà Iroha có thể di chuyển tới ô dưới cùng bên phải, module ~10^9 + 7~.
Sample
Input #1
2 3 1 1
Output #1
2
Input #2
10 7 3 4
Output #2
3570
Input #3
100000 100000 99999 99999
Output #3
1
Input #4
100000 100000 44444 55555
Output #4
738162020
Problem source: AtCoder Beginner Contest 042
Bình luận