社区讨论
站外题求助
学术版参与者 7已保存回复 27
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 27 条
- 当前快照
- 1 份
- 快照标识符
- @mhjd3roh
- 此快照首次捕获于
- 2025/11/04 00:36 4 个月前
- 此快照最后确认于
- 2025/11/04 06:11 4 个月前
以德服人
时间限制:C/C++ 1500MS,其他语言 3000MS
内存限制:C/C++ 10MB,其他语言 20MB
内存限制:C/C++ 10MB,其他语言 20MB
描述
小炎计划在 天内修炼 门武技(编号 )。对于每一门武技,修炼的天数不同,增加的武德也不尽相同,也就是说:
对于第 门武技,若共修炼了 天,小炎将获得
武德。注:小炎在同一时刻无法修炼多门技能!
求: 天后,小炎的武德有多充沛(即最多能获得多少武德)?
输入描述
第 行,两个整数 和
接下来 行,每行 个整数
,描述第 门技能
【测试数据范围】
输出描述
输出一行,一个整数
用例输入 1
2 2
1 2
1 3
用例输出 1
3
用例输入 2
2 2
2 1
2 1
用例输出 2
4
用例输入 3
2 3
3 2 1
3 2 1
用例输出 3
6
用例输入 4
6 8
4 4 1 2 2 8 9 6
4 3 7 9 3 2 6 8
4 2 3 3 5 8 7 4
8 1 4 3 7 5 9 3
5 7 3 9 8 5 5 5
3 7 8 9 2 7 8 3
用例输出 4
34
MY CODE
CPP#include <bits/stdc++.h>
using namespace std;
int dp[2001],a[2001][1001];
int main()
{
int n,m;
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
for (int j=1;j<=m;j++)
scanf("%d",&a[i][j]);
for (int i=1;i<=n;i++)
for (int j=1;j<=m;j++)
for (int k=m;k>=j;k--)
dp[k]=max(dp[k-j]+a[i][j],dp[k]);
printf("%d",dp[m]);
return 0;
}
回复
共 27 条回复,欢迎继续交流。
正在加载回复...