4283: [GESP202403六级] 游戏
内存限制:256 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
# [GESP202403六级] 游戏
## 题目描述
你有四个正整数 $n,a,b,c$ ,并准备用它们玩一个简单的小游戏。
在一轮游戏操作中,你可以选择将 $n$ 减去 $a$ ,或是将 $n$ 减去 $b$。游戏将会进行多轮操作,直到当 $n \leq c$ 时游戏结束。
你想知道游戏结束时有多少种不同的游戏操作序列。两种游戏操作序列不同,当且仅当游戏操作轮数不同,或是某一轮游戏操作中,一种操作序列选择将 $n$ 减去 $a$ ,而另一种操作序列选择将 $n$ 减去 $b$ 。如果 $a = b$ ,也认为将 $n$ 减去 $a$ 与将 $n$ 减去 $b$ 是不同的操作。
由于答案可能很大,你只需要求出答案对 1 000 000 007 取模的结果。
输入
## 输入格式
一行四个正整数 $n,a,b,c$ 。保证 $1 \leq a,b,c \leq n$ 。
输出
## 输出格式
一行一个整数,表示不同的游戏操作序列数量对 1 000 000 007 取模的结果。
样例输入 复制
1 1 1 1
样例输出 复制
1
提示
## 样例 #1
### 样例输入 #1
```
1 1 1 1
```
### 样例输出 #1
```
1
```
## 样例 #2
### 样例输入 #2
```
114 51 4 1
```
### 样例输出 #2
```
176
```
## 样例 #3
### 样例输入 #3
```
114514 191 9 810
```
### 样例输出 #3
```
384178446
```
## 提示
### 数据范围
对于 $20 \%$ 的测试点,保证 $a = b = c = 1, n \leq 30$ 。
对于 $40 \%$ 的测试点,保证 $c = 1,n \leq 10^{3}$ 。
对于所有的测试点,保证 $1 \leq n \leq 2*10^{5}$ 。
## 来源
GESP 2024年03月 C++六级T1