农夫约翰的奶酪块
题目链接:https://www.acwing.com/problem/content/6125/
题意:
给定一个nnn的奶酪块,每次切掉坐标为(x,y,z)的一个方块,求每次奶酪块能够被11n的方块插入的总方案数
思路:
不能用三维数组进行模拟,所以开三个二维数组表示三个不同的平面,每次增1,当出现次数大于等于n时cnt++
#include<bits/stdc++.h>
#define rep(i,a,n) for(int i=a;i<=n;i++)
#define pb push_back
#define endl "\n"
#pragma GCC optimize(3)
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int inf=0x3f3f3f3f;
const ll llmax=LLONG_MAX;
const int maxn=1e5+5;
int a[1005][1005];
int b[1005][1005];
int c[1005][1005];
signed main()
{
ios::sync_with_stdio(false),cin.tie(0);
int n;int q;cin>>n>>q;
int cnt=0;
while(q--){
int x,y,z;cin>>x>>y>>z;
a[x][y]++;
b[x][z]++;
c[y][z]++;
if(a[x][y]>=n)cnt++;
if(b[x][z]>=n)cnt++;
if(c[y][z]>=n)cnt++;
cout<<cnt<<endl;
}
return 0;
}

浙公网安备 33010602011771号