题解:P11450 [USACO24DEC] Farmer John's Cheese Block B
USACO 24Dec Bronze B 题解
题意
给定一个三维的正方体奶酪,坐标从
分析
可以对题意进行转化。空间中共有
暴力
很显然当
对暴力进行优化
因为是在不停的扣奶酪,所以不难发现答案是单调不减的。
发现对于每一组相同的 map 记录一下,每次更新的时候判断一下是否满足条件即可。
#include <bits/stdc++.h>
using namespace std;
typedef pair<int, int> PII;
const int Q = 2e5 + 5;
int n, q, x, y, z;
map<PII, int> mapab;
map<PII, int> mapac;
map<PII, int> mapbc;
int main() {
scanf("%d %d", &n, &q);
int ans = 0;
for (int i = 1; i <= q; i ++) {
scanf("%d %d %d", &x, &y, &z);
mapab[{x, y}] ++;
mapac[{x, z}] ++;
mapbc[{y, z}] ++;
if (mapab[{x, y}] == n) ans ++;
if (mapac[{x, z}] == n) ans ++;
if (mapbc[{y, z}] == n) ans ++;
printf("%d\n", ans);
}
return 0;
}
// 是的,AC 代码比暴力要短
那这个题就做完了,撒花。