#GESPC620240301. GESP-2024年3月份 C++六级 编程题01 游戏

GESP-2024年3月份 C++六级 编程题01 游戏

题面描述

你有四个正整数 n,a,b,cn,a,b,c,并准备用它们玩⼀个简单的小游戏。

在⼀轮游戏操作中,你可以选择将 nn 减去 bb ,或是将 nn 减去 aa 。游戏将会进⾏多轮操作,直到当nc n \le c 时游戏结束。

你想知道游戏结束时有多少种不同的游戏操作序列。 两种游戏操作序列不同,当且仅当游戏操作轮数不同,或是某⼀轮游戏操作中,⼀种操作序列选择将 nn 减去 aa ,⽽另⼀种操作序列选择将nn 减去 bb。如果 ,a=ba=b 也认为将 nn 减去aa 与将 nn 减去 bb 是不同的操作。 由于答案可能很⼤,你只需要求出答案对11 000000 000000 007 007 取模的结果。

输入描述

⼀⾏四个正整数 n,a,b,cn,a,b,c。保证 1a,b,cn 1 \le a,b,c \le n

输出描述

⼀⾏⼀个整数,表示不同的游戏操作序列数量对11 000000 000000 007 007 取模的结果。

样例

输入样例 #1

1 1 1 1

输出样例 #1

1

输入样例 #2

114 51 4 1

输出样例 #2

176

输入样例 #3

114514 191 9 810

输出样例 #3

384178446

数据规模

对于20的测试点,保证a=b=c=1,n30a=b=c=1, n \le 30 ; 对于40的测试点,保证c=1,n1000c=1, n \le 1000 ; 对于所有测试点,保证1n2000001 \le n \le 200000 ;