poj2236
发布日期:2021-05-08 09:33:31 浏览次数:17 分类:精选文章

本文共 506 字,大约阅读时间需要 1 分钟。

POJ2236

简单的并查集,每当修复一台电脑时,我们都要将它与之前修复过的所有电脑进行连接操作,判断它们之间的距离,如果小于d,那么就将他们归为一类。这里使用一个临时数组temp来一次存放修复的电脑.

#include
#include
int N,d;#define MAX_N 1005int par[MAX_N];int rank[MAX_N];int A[MAX_N],B[MAX_N];int temp[MAX_N];void init(int n){ par[n]=n; rank[n]=0;}int find(int x){ if(par[x]==x) return x; else return par[x]=find(par[x]);//压缩操作}bool same(int x,int y){ return find(x)==find(y);}void unite(int x,int y){ x =find(x); y =find(y); if(x==y) return;// if(same(x,y))// return ; if(rank[x]
上一篇:基于单片机脉搏检测和体温检测设计-全套资料
下一篇:使用While(scanf())的一个注意事项

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年04月01日 08时48分53秒