洛谷方格取数

#include <bits/stdc++.h>

using namespace std;

const int MAXN = 10;

int grid[MAXN][MAXN];

int dp[MAXN][MAXN][MAXN][MAXN];

int main(){

int n;

cin >> n;

int x, y, num;

while(true){

cin >> x >> y >> num;

if(x == 0 && y == 0 && num == 0)

break;

grid[x][y] = num;

}

for(int x1 = 1; x1 <= n; x1++){

for(int y1 = 1; y1 <= n; y1++){

for(int x2 = 1; x2 <= n; x2++){

int y2 = x1 + y1 - x2;

if(y2 < 1 || y2 >n)

continue;

dp[x1][y1][x2][y2] = max({

dp[x1 - 1][y1][x2 - 1][y2],//下下

dp[x1 - 1][y1][x2][y2 - 1],//下右

dp[x1][y1 - 1][x2 - 1][y2],//右下

dp[x1][y1 - 1][x2][y2 - 1],//右右

});

if(x1 == x2 && y1 == y2){

dp[x1][y1][x2][y2] += grid[x1][y1];

}else{

dp[x1][y1][x2][y2] += grid[x1][y1] + grid[x2][y2];

}

}

}

}

cout << dp[n][n][n][n] << endl;

return 0;

}

相关推荐
阿贵---7 分钟前
C++代码规范化工具
开发语言·c++·算法
暮冬-  Gentle°15 分钟前
自定义内存检测工具
开发语言·c++·算法
ccLianLian26 分钟前
数论·欧拉函数
数据结构·算法
2501_9454248033 分钟前
C++编译期矩阵运算
开发语言·c++·算法
2301_8154829339 分钟前
C++中的类型标签分发
开发语言·c++·算法
xushichao198944 分钟前
代码生成优化技术
开发语言·c++·算法
炽烈小老头1 小时前
【每天学习一点算法 2026/03/22】前 K 个高频元素
学习·算法
2401_873204651 小时前
模板编译期循环展开
开发语言·c++·算法
木心月转码ing1 小时前
Hot100-Day51-TT70爬楼梯
算法
NAGNIP1 小时前
一文搞懂经典的优化算法都有哪些?
算法