70分求助!
查看原帖
70分求助!
555825
block_in_mc楼主2022/10/10 20:58

On #1 #6 #8

已经从 0 判断到 128 了

#include <bits/stdc++.h>
int d, n, x, y, k, ans1, ans2, cnt, mp[200][200];
int main() {
    scanf("%d%d", &d, &n);
    d *= 2; //
    for (int i = 1; i <= n && scanf("%d%d%d", &x, &y, &k); i++) mp[x][y] = k;
    for (int i = 0; i <= 128; i++)
        for (int j = 0; j <= 128; j++) {
        	  // 枚举正方形左上角坐标
            cnt = 0;
            for (int p = i; p <= i + d; p++)
                for (int q = j; q <= j + d; q++)
                    cnt += mp[p][q];
            if (cnt > ans2) ans1 = 0, ans2 = cnt;
            if (cnt == ans2) ans1++;
        }
    printf("%d %d", ans1, ans2);
    return 0;
}

测试点#1:

1
11
0 0 10
64 64 10
0 124 5
4 128 5
3 128 1
0 128 4
128 128 10
127 0 10
128 64 10
64 128 9
30 20 10

标准输出:

38 10

我的输出

40 10
2022/10/10 20:58
加载中...