求助 10分WA
查看原帖
求助 10分WA
323183
CLCK楼主2021/5/23 18:23

DP渣渣。。。

救命啊

#include <iostream>
using namespace std;
int m, n;
int map[55][55];
int f[55][55][55][55];
int maxn(int a, int b, int c, int d) {
	return max(a, max(b, max(c, d)));
}
int main() {
	cin >> m >> n;
	for (int i = 1; i <= m; i++) {
		for (int j = 1; j <= n; j++) {
			cin >> map[i][j];
		}
	}
	for (int i = 1; i <= m; i++) {
		for (int j = 1; j <= n; j++) {
			for (int k = i + 1; k <= m; k++) {
				for (int l = 1; l < j; l++) {
					f[i][j][k][l] = maxn(
					f[i][j - 1][k][l - 1], 
					f[i][j - 1][k - 1][l], 
					f[i - 1][j][k][l - 1], 
					f[i - 1][j][k - 1][j])
					 + map[i][j] + map[k][l];
				}
			}
		}
	}
	cout << f[m - 1][n][m][n - 1] << endl;
	return 0;
}
2021/5/23 18:23
加载中...