A28875. 你有四个正整数n,a,b,c,并准备用它们玩一个简单的数字游戏。在每一轮游戏操作中,你可以选择将n减少a,或减少b,或减少c。游戏会进行多轮操作,直到n的值小于或等于c时游戏结束。你的任务是计算有多少种不同的操作方法可以使n变为c或更小。注意:如果a,b相等,那么n-a和n-b视为不同的操作。在一个轮次中,n-a、n-b和n-c都视为不同的操作。由于可能的答案非常大,请输出结果对100取余后的值…
填空题
中等
知识点
题目描述
你有四个正整数n,a,b,c,并准备用它们玩一个简单的数字游戏。在每一轮游戏操作中,你可以选择将n减少a,或减少b,或减少c。游戏会进行多轮操作,直到n的值小于或等于c时游戏结束。
你的任务是计算有多少种不同的操作方法可以使n变为c或更小。注意:如果a,b相等,那么n-a和n-b视为不同的操作。在一个轮次中,n-a、n-b和n-c都视为不同的操作。
由于可能的答案非常大,请输出结果对100取余后的值。
输入描述
输入一行包含四个正整数n, a, b,c。保证1≤a,b,c≤n.
输出描述
输出一个整数,表示答案。
样例1
输入
98 3 67 4
输出
18
参考答案
n, a, b, c = map(int, input().split(' '))
dp = [0] * (n+1)
for i in range(c+1):
dp[i] = 1
for i in range(c+1, n+1):
dp[i] = dp[i-a] + dp[i-b] + dp[i-c]
print(dp[n]%100)
上一题
下一题