【题解】洛谷P3958[NOIP2017]奶酪 并查集/dfs
打了一份并查集一份dfs的代码 #include<cstdio> typedef long long ll; const int N=1e3+10; int set[N]; ll n,h,r; struct node{ ll x,y,z; }hole[N];//存点 void init()//初始化代表元全为自己 { for(int i=0;i<=n+1;i++) set[i]=i; } int findset(int x)//查找代表元 { if(x==set[x]) return x; else return set[x]=findset(set[x]); } void unionset(int x,int y)//并集 { int fx=findset(x); int fy=findset(y); set[fy]=fx; } ll getdis(node a,node b)//返回两点间的距离的平方 { return (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)+(a.z-b.z)*(a.z-b.z); } int main() { //freopen("in.txt","r",stdin); int t,i,j; scanf("%d",&t); while(t--) { scanf("%lld%lld%lld",&n,&h,&r);/