转移写错了吧
by Root808 @ 2023-08-07 10:00:22
我好像发现了,时输入出现了问题。
by 菜のcrzOvO @ 2023-08-07 10:04:34
我输入完在输出了一遍$a$ ,发现全是0
by 菜のcrzOvO @ 2023-08-07 10:05:29
@[crzcqh](/user/769006)
转移错了 max 里面有问题
by YGW6 @ 2023-08-07 10:06:01
转移出错?
by ZYK_beishetianlang @ 2023-08-07 10:09:30
max里有问题
by Soda_mew @ 2023-08-07 10:13:45
哦?那要改成怎么样?(拜谢dalao orz)
by 菜のcrzOvO @ 2023-08-07 10:14:14
可是我发现输入有问题啊,a数组全是0
by 菜のcrzOvO @ 2023-08-07 10:14:44
@[crzcqh](/user/769006) 帮你改完了
```cpp
#include<bits/stdc++.h>
#define For(i) for(int i=1;i<=n;i++)
using namespace std;
int a[11][11];
int dp[11][11][11][11];
int n,x,y,num;
int main(){
cin>>n;
while((cin>>x>>y>>num)&&x) a[x][y]=num;
For(i) For(j) For(l) For(k){
dp[i][j][l][k]=
max(
max(dp[i-1][j][l-1][k],dp[i][j-1][l][k-1]),
max(dp[i-1][j][l][k-1],dp[i][j-1][l-1][k]))+a[i][j];
if(i!=l&&j!=k) dp[i][j][l][k]+=a[l][k];
}
cout<<dp[n][n][n][n];
return 0;
}
```
[改完后的AC记录](https://www.luogu.com.cn/record/119429543)
by Soda_mew @ 2023-08-07 10:22:59
```
#include<bits/stdc++.h>
#define For(i) for(int i=1;i<=n;i++)
using namespace std;
int a[11][11];
int dp[11][11][11][11];
int n,x,y,num;
int main(){
cin>>n;
while((cin>>x>>y>>num)&&x) a[x][y]=num;
For(i) For(j) For(l) For(k){
dp[i][j][l][k]=max(max(
max(dp[i][j][l-1][k],dp[i][j][l][k-1]),
dp[i][j-1][l][k]),
dp[i-1][j][l][k])+a[i][j];
if(i!=l||j!=k) dp[i][j][l][k]+=a[l][k];
}
cout<<dp[n][n][n][n];
return 0;
}
```
这样?
by 菜のcrzOvO @ 2023-08-07 10:23:31