1-3A,剩下的WA
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<vector>
using namespace std;
long long f[1020];
struct note {
double x,y,z;
}a[1020];
long long find (long long n)
{
if (f[n]==n)
{
return n;
}
return f[n]=find(f[n]);
}
long long count (long long n,long long m)
{
return (a[n].x-a[m].x)*(a[n].x-a[m].x)+(a[n].y-a[m].y)*(a[n].y-a[m].y)+(a[n].z-a[m].z)*(a[n].z-a[m].z);
}
void bing (long long n,long long m)
{
f[n]=f[m];
return;
}
int main()
{
long long T,i,j;
cin>>T;
while (T--)
{
long long n,m,k;
cin>>n>>m>>k;
for (i=1;i<=n;i++)
{
cin>>a[i].x>>a[i].y>>a[i].z;
f[i]=i;
}
for (i=1;i<=n;i++)
{
for (j=1;j<=n;j++)
{
if (count(i,j)<=k*k*4)
{
bing(i,j);
}
}
}
long long f=1,f1=0,f2=0;
for (i=1;i<n;i++)
{
if (find(i)!=find(i+1))
{
f=0;
}
}
for (i=1;i<=n;i++)
{
if (a[i].z-k<=1)
{
f1=1;
}
if (a[i].z+k>=m)
{
f2=1;
}
}
if (f==1&&f1==1&&f2==1)
{
cout<<"Yes"<<endl;
}
else
{
cout<<"No"<<endl;
}
}
return 0;
}