求助
查看原帖
求助
436197
xejwsy楼主2021/8/16 18:11

各位大佬,麻烦帮我看看哪里错了???(0分)

#include <bits/stdc++.h>
using namespace std;
int a[20][20], f[20][20][20][20];
int n;
int x, y, z;
int aa(int a, int b, int c, int d) {
	return max(max(a, b), max(c, d)); 
}
int main() {
    cin >> n;
    while (scanf("%d%d%d", &x, &y, &z)){
        if(x == 0 && y == 0 && z == 0){
            break;
        }
    	a[x][y] = z;
	} 
    for (int i = 1; i <= n; i++){
    	for (int j = 1; j <= n; j++){
        	for (int k = 1; k <= n; k++){
            	for (int l = 1; l <= n; l++){
                	f[i][j][k][l] = aa(f[i - 1][j][k - 1][l], f[i - 1][j][k][l - 1], f[i][j - 1][k - 1][l],f[i][j - 1][k][l - 1]);
					if (i == k && j == l)
                        f[i][j][k][l] -= a[i][j];
                }
				}
			}
		}
    cout << f[n][n][n][n] << endl;
    return 0;
}

cpp #include <bits/stdc++.h> using namespace std; int a[20][20], f[20][20][20][20]; int n; int x, y, z; int aa(int a, int b, int c, int d) { return max(max(a, b), max(c, d)); } int main() { cin >> n; while (scanf("%d%d%d", &x, &y, &z)){ if(x == 0 && y == 0 && z == 0){ break; } a[x][y] = z; } for (int i = 1; i <= n; i++){ for (int j = 1; j <= n; j++){ for (int k = 1; k <= n; k++){ for (int l = 1; l <= n; l++){ f[i][j][k][l] = aa(f[i - 1][j][k - 1][l], f[i - 1][j][k][l - 1], f[i][j - 1][k - 1][l],f[i][j - 1][k][l - 1]); if (i == k && j == l) f[i][j][k][l] -= a[i][j]; } } } } cout << f[n][n][n][n] << endl; return 0; }

2021/8/16 18:11
加载中...