为什么不能再交题解了
查看原帖
为什么不能再交题解了
1397544
ycyzc14楼主2025/7/25 17:29

一道基础的背包DP

#include<bits/stdc++.h>
using namespace std;
int w[105], v[105];
int dp[105][1005];
int main() {
	int t, m;//输入时间和数目
	cin >> t >> m;
	for (int i=1;i<=m;++i) cin>>w[i]>>v[i];//输入用时和价值
	for (int i = 1; i <= m; ++i) 
		for (int j = t; j >= 0; --j) {
			if (j >= w[i]) {//时间够采这株草药
				dp[i][j]=max(dp[i-1][j-w[i]]+v[i],dp[i-1][j]);//判断价值是否最大化
			} else {
				dp[i][j] = dp[i - 1][j];//时间不够就跳过
			}
		}
	cout << dp[m][t];
	return 0;
}

2025/7/25 17:29
加载中...