80 pts 4维DP WA 求助
查看原帖
80 pts 4维DP WA 求助
688783
SilverLi楼主2023/8/18 08:39
#include<iostream>
using namespace std;
const int N = 85;
int m, n, a[N][N];
int f[N][N][N][N];
int main() {
    cin >> m >> n;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= n; j++)
        	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++) {
                	if (i == k && l == j && (i != m || j != n))	continue;
                	//cout << i << ' ' << j << ' ' << k << ' ' << l << ' ';
                    f[i][j][k][l] = max(max(f[i - 1][j][k - 1][l], f[i - 1][j][k][l - 1]), max(f[i][j - 1][k - 1][l], f[i][j - 1][k][l - 1]));
                    //cout << "L: " << f[i][j][k][l] << ' ';
                    f[i][j][k][l] += a[i][j] + a[k][l];
                    //cout << "R: " << f[i][j][k][l] << '\n';
                }
            }
        }
    }
    cout << f[m][n][m][n];
    //max(max(f[m - 1][n][m - 1][n], f[m - 1][n][m][n - 1]), max(f[m][n - 1][m - 1][n], f[m][n - 1][m][n - 1]))
    return 0;
}
2023/8/18 08:39
加载中...