解题思路:参考D的题解,自己重现了一遍
注意事项:注意4,5行
参考代码:
n=int(input()) w=[int(i) for i in input().split()] s=sum(w) w.sort(reverse=True) w.insert(0,0) dp=[[0 for j in range(s+1)] for i in range(n+1)] for i in range(n+1): dp[i][0]=1 for i in range(1,n+1): for j in range(s+1): if dp[i-1][j]: dp[i][j]=1 dp[i][j+w[i]]=1 if j>w[i]: dp[i][j-w[i]]=1 end=sum(dp[n])-1 print(end)
0.0分
1 人评分
WU-格式化数据输出 (C++代码)浏览:1308 |
简单的a+b (C语言代码)浏览:572 |
程序员的表白 (C语言代码)浏览:674 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:617 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:582 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:520 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:607 |
三角形 (C语言代码)浏览:720 |
C语言程序设计教程(第三版)课后习题7.2 (C++代码)浏览:451 |
简单的a+b (C语言代码)浏览:667 |
风清蝶飞舞 2024-04-11 10:31:30 |
不排序也可以,abs(j-w[i])就行