博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 2236 Wireless Network 第一次做并查集,第一次写博客
阅读量:7231 次
发布时间:2019-06-29

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

    题意是判断两台电脑是否能通讯,两台修好的电脑距离在指定距离内可直接通讯,且两台修好的电脑能通过一台修好的电脑间接通讯。代码如下:

#include 
#include
#include
using namespace std;int father[1005];struct Coord //电脑坐标{ int x; int y;} coo[1005];struct Repair //已修复好的电脑的坐标和编号{ int x; int y; int numb;} rep[1005];int Find_fath(int x) //并查集寻找父亲{ if (x != father[x]) father[x] = Find_fath(father[x]); //压缩返回路径 return father[x];}void Union(int x,int y) //并查集父亲合并{ x=Find_fath(x); y=Find_fath(y); if(x!=y) father[y]=x;}int main(){ //freopen("in.txt","r",stdin); int n,d; int num_rep=0; //修复电脑的数量 char oper; //对电脑的操作 cin>>n>>d; for(int i=1; i<=n; i++) scanf("%d%d",&coo[i].x,&coo[i].y); for(int i=1; i<=n; i++) father[i]=i; //初始化父亲为自己 getchar(); while(scanf("%c",&oper)!=EOF) { if(oper=='O') { int numb; scanf("%d",&numb); rep[num_rep].x=coo[numb].x; rep[num_rep].y=coo[numb].y; rep[num_rep].numb=numb; for(int i=0; i

不足之处,望多指点改正。转载请标明出处。

转载于:https://www.cnblogs.com/pach/p/5717145.html

你可能感兴趣的文章
用一辈子去领悟的22条生活真谛
查看>>
1968: [Ahoi2005]COMMON 约数研究
查看>>
discuz 启用html code 显示问题
查看>>
A1027. Colors in Mars (20)
查看>>
[SRM568]DisjointSemicircles
查看>>
9个很有发展潜力的PHP开源项目
查看>>
python中pymysql数据编码的问题
查看>>
HDFS基本原理及数据存取实战
查看>>
j2ee页面静态化方案encache web cache框架详解1
查看>>
php高级注入
查看>>
[硬件]三维点云数据获取
查看>>
nagios安装配置
查看>>
bzoj 2763 [JLOI2011]飞行路线 Dijikstra 分层
查看>>
HEOI2018 游记
查看>>
UITableViewCell 取消选中的蓝色背景
查看>>
MFC DestroyWindow、OnDestroy、OnClose 程序关闭相关
查看>>
hibernate理解
查看>>
第二篇第五章防火防烟分区于分隔
查看>>
POJ 2387 Til the Cows Come Home
查看>>
POJ 1733 Parity game
查看>>