洛谷方格取数

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

}

相关推荐
TracyCoder1233 小时前
LeetCode Hot100(34/100)——98. 验证二叉搜索树
算法·leetcode
A尘埃3 小时前
电信运营商用户分群与精准运营(K-Means聚类)
算法·kmeans·聚类
power 雀儿4 小时前
掩码(Mask)机制 结合 多头自注意力函数
算法
会叫的恐龙4 小时前
C++ 核心知识点汇总(第六日)(字符串)
c++·算法·字符串
小糯米6014 小时前
C++顺序表和vector
开发语言·c++·算法
We་ct4 小时前
LeetCode 56. 合并区间:区间重叠问题的核心解法与代码解析
前端·算法·leetcode·typescript
Lionel6894 小时前
分步实现 Flutter 鸿蒙轮播图核心功能(搜索框 + 指示灯)
算法·图搜索算法
小妖6664 小时前
js 实现快速排序算法
数据结构·算法·排序算法
xsyaaaan4 小时前
代码随想录Day30动态规划:背包问题二维_背包问题一维_416分割等和子集
算法·动态规划
zheyutao5 小时前
字符串哈希
算法