一本通 1266 90pts 求条
查看原帖
一本通 1266 90pts 求条
1145420
longyitongxue楼主2025/6/29 13:07

Rt, question.

90\red{90} WA code:

#include<iostream>
using namespace std;
int a[25][25],dp[25][25],ans[25][25];
void print(int x,int y){
	if(x==0)return;
	print(x-1,y-ans[x][y]);
	cout<<x<<' '<<ans[x][y]<<'\n';
}
int main(){
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>a[i][j];
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			for(int k=j;k>=0;k--){
//				dp[i][j]=max(dp[i-1][k]+a[i][j-k],dp[i][j]);
				if(dp[i][j]<dp[i-1][k]+a[i][j-k]){
					dp[i][j]=dp[i-1][k]+a[i][j-k];
					ans[i][j]=j-k;
				}
			}
		}
	}
	cout<<dp[n][m]<<'\n';
	print(n,m);
	return 0;
}
2025/6/29 13:07
加载中...