rt,我的代码是这样的
#include <bits/stdc++.h>
using namespace std;
const int N = 10005, inf = 0x3f3f3f3f, mod = 1e9 + 7;
int n, w;
long long dp[N], a[N];
int main() {
cin >> n >> w;
dp[0] = 1;
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
for (int j = 1; j <= w; j++) {
for (int i = 1; i <= n; i++) {
if (j >= a[i]) {
dp[j] = (dp[j - a[i]] + dp[j]) % mod;
}
}
}
cout << dp[w];
return 0;
}
其实跟各位dalao的长得差不多,但是我不明白一点:为什么要第一层循环先遍历体积,第二层循环遍历物品?为什么不能先遍历物品再遍历体积呢?
有没有大佬知道为什么,会关awa