#include<bits/stdc++.h>
using namespace std;
struct T {
int x, y;
long long pt;
};
long long n, m, q, r, k, lrt = 1, t = 1;
vector<T>tree;
short ma[3005][3005];
int mac(int x, int y) {
if (x == 1 || y == 1)return 1;
return 0;
}
bool check(int tx, int ty) {
if (ma[tx][ty] != 0)return 0;
if (tx > n || tx < 1 || ty > m || ty < 1)return 0;
short fi = 0;
fi = max(ma[tx + 1][ty], fi);
fi = max(ma[tx + 1][ty + 1], fi);
fi = max(ma[tx + 1][ty - 1], fi);
fi = max(ma[tx ][ty + 1], fi);
fi = max(ma[tx ][ty - 1], fi);
fi = max(ma[tx - 1][ty - 1], fi);
fi = max(ma[tx - 1][ty], fi);
fi = max(ma[tx - 1][ty + 1], fi);
if (fi == 0) {
return 0;
}
fi = 0;
fi = mac(ma[tx + 1][ty], fi);
fi = mac(ma[tx + 1][ty + 1], fi);
fi = mac(ma[tx + 1][ty - 1], fi);
fi = mac(ma[tx ][ty + 1], fi);
fi = mac(ma[tx ][ty - 1], fi);
fi = mac(ma[tx - 1][ty - 1], fi);
fi = mac(ma[tx - 1][ty], fi);
fi = mac(ma[tx - 1][ty + 1], fi);
if (fi == 0) {
return 0;
}
return 1;
}
signed main() {
cin >> n >> m >> q >> r >> k;
for (int i = 1; i <= q; i++) {
int x, y, xx, yy;
cin >> x >> y >> xx >> yy;
for (int i = x; i <= xx; i++) {
for (int j = y; j <= yy; j++) {
ma[i][j] = 1;
}
}
}
for (int i = 1; i <= r; i++) {
int x,y,z;
cin>>x>>y>>z;
T d;
d.pt=x;
d.x=y;
d.y=z;
tree.push_back(d);
}
while (lrt +k>= t) {
int g=tree.size();
for (int i = 0; i <g; i++) {
if (tree[i].pt == t) {
ma[tree[i].x][tree[i].y] = 2;
lrt=t;
}
if (tree[i].pt < t) {
int tx = tree[i].x;
int ty = tree[i].y;
if (t - tree[i].pt > k) {
short fi = 0;
fi = max(ma[tx + 1][ty], fi);
fi = max(ma[tx + 1][ty + 1], fi);
fi = max(ma[tx + 1][ty - 1], fi);
fi = max(ma[tx ][ty + 1], fi);
fi = max(ma[tx ][ty - 1], fi);
fi = max(ma[tx - 1][ty - 1], fi);
fi = max(ma[tx - 1][ty], fi);
fi = max(ma[tx - 1][ty + 1], fi);
if (fi == 0) {
ma[tx][ty] = 0;
tree.erase(tree.begin() + i);
r--;
lrt=t;
continue;
}
}
for (int qt = tx - 1; qt <= tx + 1; qt++) {
for (int c = ty - 1; c <= ty + 1; c++) {
if (check(q, c)) {
tree.push_back({q, c, t});
ma[q][c]=2;
r++;
lrt=t;
}
}
}
}
}
t++;
}
cout<<tree.size();
return 0;
}
调试到68行后报错,vector有值,报错函数库里,实在想不明白