解题思路:
注意事项:
参考代码:
n, m= map(int, input().split())
t = [0]+list(map(int, input().split()))
dp=[[0]*(m+1) for _ in range(n+1)]
mod=10**9+7
for i in range(n+1):
dp[i][0]=1
for i in range(1,n+1):
for j in range(1, m + 1):
for l in range(min(t[i],j)+1):
dp[i][j]+=dp[i-1][j-l]
print(dp[n][m]%mod)
0.0分
0 人评分
C语言训练-计算1977!* (C++代码)浏览:907 |
回文数(一) (C语言代码)浏览:809 |
ASCII帮了大忙浏览:797 |
WU-小九九 (C++代码)浏览:1713 |
DNA (C语言描述,数据结构)浏览:909 |
C语言程序设计教程(第三版)课后习题6.3 (C++代码)浏览:1067 |
printf基础练习2 (C语言代码)浏览:796 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:586 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:527 |
A+B for Input-Output Practice (I) (C++代码)浏览:636 |