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

来源/分类