HzuWHF


私信TA

用户名:I7I08I9047

访问量:76444

签 名:

我RUN了

等  级
排  名 18
经  验 20461
参赛次数 13
文章发表 127
年  龄 3
在职情况 学生
学  校 贺州学院
专  业

  自我简介:



参考代码:

#include<bits/stdc++.h>
using namespace std;

const int SIZE = 10;
int Map[SIZE][SIZE];
int Dp[SIZE][SIZE][SIZE][SIZE];
int Maps;

int DFS(int X1, int Y1, int X2, int Y2) {
	if (X1 > Maps || Y1 > Maps || X2 > Maps || Y2 > Maps)
		return 0;
	if (Dp[X1][Y1][X2][Y2] != -1)
		return Dp[X1][Y1][X2][Y2];
	int res = Map[X1][Y1] + Map[X2][Y2];
	if (X1 == X2 && Y1 == Y2)
		res -= Map[X2][Y2];
	res += max(max(DFS(X1, Y1 + 1, X2 + 1, Y2), DFS(X1, Y1 + 1, X2, Y2 + 1)), max(DFS(X1 + 1, Y1, X2 + 1, Y2), DFS(X1 + 1, Y1, X2, Y2 + 1)));
	return Dp[X1][Y1][X2][Y2] = res;
}

int main() {
	cin >> Maps; int posx, posy, w;
	while (cin >> posx >> posy >> w && posx && posy && w)
		Map[posx][posy] = w;
	memset(Dp, -1, sizeof Dp);
	cout << DFS(1, 1, 1, 1) << endl;
}


 

0.0分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区