测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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)
上一题 下一题