洛谷方格取数

#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;

}

相关推荐
yzzzzzzzzzzzzzzzzz1 小时前
leetcode热题——组合
算法·回溯·组合问题
RTC老炮1 小时前
webrtc弱网-QualityScaler 源码分析与算法原理
人工智能·算法·webrtc
码破苍穹ovo6 小时前
堆----1.数组中的第K个最大元素
java·数据结构·算法·排序算法
愤怒的小鸟~~~6 小时前
c语言创建的一个队列结构(含有这个头指针和这个尾指针的结构具有一定的参考价值)
c语言·开发语言·算法
Joker-01117 小时前
深入 Go 底层原理(十二):map 的实现与哈希冲突
算法·go·哈希算法·map
金融小师妹8 小时前
AI量化模型解析黄金3300关口博弈:市场聚焦“非农数据”的GRU-RNN混合架构推演
大数据·人工智能·算法
金融小师妹8 小时前
基于LSTM-GRU混合网络的动态解析:美联储维稳政策与黄金单日跌1.5%的非线性关联
大数据·人工智能·算法
白日梦想家-K9 小时前
题单【模拟与高精度】
开发语言·c++·算法
重生之我是Java开发战士9 小时前
【C语言】内存函数与数据在内存中的存储
c语言·开发语言·算法
roman_日积跬步-终至千里10 小时前
【机器学习】“回归“算法模型的三个评估指标:MAE(衡量预测准确性)、MSE(放大大误差)、R²(说明模型解释能力)
算法·机器学习·回归