求条
查看原帖
求条
1058410
Gcc_Gdb_7_8_1楼主2025/1/9 21:47
// Contest: Luogu
// URL: https://www.luogu.com.cn/problem/P1004
// Memory Limit: 512 MB
// Time Limit: 1000 ms
//
// Powered by CP Editor (https://cpeditor.org)

// clang-format off
#include <bits/stdc++.h>
long long a[55][55], dp[55][55][55][55];
int main(int n) {
    int m;
	scanf("%d%d",&m,&n);
	for (int i = 1; i <= m; ++i) {
	    for (int j = 1; j <= n; ++j) {
	        std::cin >> a[i][j];
	    }
	}
	for (int i = 1; i <= m; ++i) {
		for (int j = 1; j <= n; ++j) {
			for (int k = 1; k <= m; ++k) {
				for (int l = 1; l <= n; ++l) {
					dp[i][j][k][l] = std::max({dp[i - 1][j][k - 1][l], dp[i - 1][j][k][l - 1], dp[i][j - 1][k - 1][l], dp[i][j - 1][k][l - 1]}) + a[i][j] + a[k][l] * (i != k && l != j);
				}
			}
		}
	}
	printf("%lld\n",dp[n][n][n][n]);
	return 0;
}

60pts, WA on #4 #6 #8 #9。

注:这事实上是从我的方格取数那题搬过来的代码,改了下输入。

2025/1/9 21:47
加载中...