社区讨论
玄关!只有样例过了
P7074[CSP-J 2020] 方格取数参与者 3已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @m2byrkj8
- 此快照首次捕获于
- 2024/10/16 22:24 去年
- 此快照最后确认于
- 2025/11/04 17:02 4 个月前
各位大佬帮帮我吧!
本蒟蒻写的 DP 怎么都没跳出来呀!!!QWQ
CPP#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int n,m;
int a[1010][1010];
int dp[1010][1010][3];
int main()
{
freopen("number.in","r",stdin);
freopen("number.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i = 1;i <= n;i ++)
{
for(int j = 1;j <= m;j ++)
{
scanf("%d",&a[i][j]);
}
}
dp[1][1][1] = dp[1][1][2] = dp[1][1][3] = a[1][1];
for(int i = 1;i <= m;i ++)
{
for(int j = 1;j <= n;j ++)
{
dp[i][j][1] = max(dp[i][j - 1][1],max(dp[i][j - 1][2],dp[i][j - 1][3])) + a[i][j];
}
for(int j = 1;j <= n;j ++)
{
dp[i][j][2] = max(dp[i - 1][j][1],dp[i - 1][j][2]) + a[i][j];
}
for(int j = n;j >= 1;j --)
{
dp[i][j][3] = max(dp[i + 1][j][1],dp[i][j + 1][3]) + a[i][j];
}
}
cout << max(dp[n][m][1],max(dp[n][m][2],dp[n][m][3]));
return 0;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...