Pagini recente » Cod sursa (job #1985258) | Cod sursa (job #2514487) | Cod sursa (job #101106) | Cod sursa (job #3209103) | Cod sursa (job #253855)
Cod sursa(job #253855)
#include <cstdio>
using namespace std;
struct punct {
int x, y;
};
int n, m, t[610][610], i, j, a, b, r, c, p1, p2, sol;
int main() {
freopen("grendizer.in", "r", stdin);
freopen("grendizer.out", "w", stdout);
scanf("%d%d", &n, &m);
for (i = 1; i <= n; i++) {
scanf("%d%d", &a, &b);
a += 300;
b += 300;
t[a][b]++;
}
for (i = 1; i <= m; i++) {
scanf("%d%d%d", &a, &b, &r);
sol = 0;
a += 300; b += 300;
if (r <= 300) {
p1 = r; p2 = 0;
while (p1 >= 0) {
if (a + p1 >= 0 && a + p1 <= 600 && b + p2 >= 0 && b + p2 <= 600)
sol += t[a + p1][b + p2];
if (a + p1 >= 0 && a + p1 <= 600 && b - p2 >= 0 && b - p2 <= 600)
if (p2 != 0 && p1 != 0)
sol += t[a + p1][b - p2];
if (a - p1 >= 0 && a - p1 <= 600 && b + p2 >= 0 && b + p2 <= 600)
if (p1 != 0 && p2 != 0)
sol += t[a - p1][b + p2];
if (a - p1 >= 0 && a - p1 <= 600 && b - p2 >= 0 && b - p2 <= 600)
sol += t[a - p1][b - p2];
p1--;
p2++;
}
}
if (r == 0)
sol = t[a][b];
printf("%d\n", sol);
}
return 0;
}