就只对了第一个点求大佬调
查看原帖
就只对了第一个点求大佬调
1128098
SunShengxuan楼主2025/6/15 13:50
#include<bits/stdc++.h>
using namespace std;
int N[10][10];
int n, m, maxx;
bool vis[10][10];
void choose(int x, int y, int sum) {
	for(int i = x - 1; i <= x + 1; ++ i) {
		for(int j = y - 1; j <= y + 1; ++ j) {
			vis[i][j] = false;
		}
	}
	for(int i = 1; i <= n; ++ i) {
		for(int j = 1; j <= m; ++ j) {
			if(vis[i][j]) {
				choose(i, j, sum + N[i][j]);
				maxx = max(maxx, sum + N[i][j]);
			}
		}
	}
	maxx = max(maxx, sum);
}
int main() {
	int t;
	scanf("%d", &t);
	while(t --) {
		memset(N, 0, sizeof(N));
		scanf("%d %d", &n, &m);
		for(int i = 1; i <= n; ++ i) {
			for(int j = 1; j <= m; ++ j) {
				scanf("%d", &N[i][j]);
			}
		}
		int maxc = 0;
		for(int i = 1; i <= n; ++ i) {
			for(int j = 1; j <= m; ++ j) {
				memset(vis, true, sizeof(vis));
				maxx = 0;
				choose(i, j, N[i][j]);
				maxc = max(maxc, maxx);
			}
		}
		printf("%d\n", maxc);
	}
	return 0;
}
2025/6/15 13:50
加载中...