大佬帮我改错呗
查看原帖
大佬帮我改错呗
562543
Jr_WoW楼主2024/1/24 11:11

(初学dp)求大佬帮我看个错

#include<bits/stdc++.h>
using namespace std;
int T;
int M;
int t[105]={0};
int v[105]={0};
int dp[105][105];
//int V[105][105];
//int dp(int T,int M,int t[],int v[]) {
//	for(int i=1;i<=M;i++) {
//		for(int j=T;j>=0;j--) {
//			if(j<t[i]) V[i][j]=V[i-1][j];
//			else V[i][j]=max(V[i-1][j],V[i-1][j-t[i]]+v[i]);
//		}
//	}
//	printf("%d",V[M][T]);
//	return 0;
//}
int main() {
	scanf("%d %d",&T,&M);
	for(int i=1;i<=M;i++) {
		scanf("%d %d",&t[i],&v[i]);
	}
	for(int i=1;i<=M;i++) {
		for(int j=T;j>=0;j--) {
			if(j<t[i]) dp[i][j]=dp[i-1][j];
			else dp[i][j]=max(dp[i-1][j],dp[i-1][j-t[i]]+v[i]);
		}
	}
	printf("%d",dp[M][T]);
	return 0;
}
2024/1/24 11:11
加载中...