#include<bits/stdc++.h>
using namespace std;
long long t, n, h, r, x[1005], y[1005], z[1005], fa[1010];
void init() {
for (int i = 1;i <= 1005;i++) {
fa[i] = i;
}
}
int get(int x) {
if (fa[x] == x) {
return x;
}
return fa[x] = get(fa[x]);
}
void merge(int x, int y) {
x = get(x);
y = get(y);
if (x != y) {
fa[y] = x;
}
}
int main() {
scanf("%lld", &t);
while(t--) {
scanf("%lld%lld%lld", &n, &h, &r);
init();
for (int i = 1;i <= n;i++) {
scanf("%lld%lld%lld", &x[i], &y[i], &z[i]);
if (z[i] - r <= 0) {
merge(0, i);
}
if (z[i] + r >= h) {
merge(i, 1005);
}
}
for (int i = 1;i <= n;i++) {
for (int j = i + 1;j <= n;j++) {
if (pow((x[i] - x[j]), 2) + pow((y[i] - y[j]), 2) + pow((z[i] - z[j]), 2) <= 4 * r * r) {
merge(i, j);
}
}
}
if (get(0) == get(1005)) {
printf("Yes\n");
} else {
printf("No\n");
}
}
return 0;
}
第7个测试点过不了,WA了 求助大佬