Wireless Network POJ
来源:互联网 发布:python解析xml文件 编辑:程序博客网 时间:2024/05/22 14:08
/**题意:输入n,d;输入n行代表有n个机器及它们的坐标,;d代表两两间电脑的距离如果小于d的话就可以代表它们之间可以联系;输入字符'O'和P的话,就是说将P号电脑进行修理,满足条件的可以进行连通(联系);输入字符'S'和P,Q的话呢,就是判断P和Q是否连通;这个题吧,就是按照所给的意思一步一步搞就可以了,需要解决什么就弄吧;判连通性那么就是并查集了,而且这个题开始的地方呢,我感觉诡异的地方呢就是它的这个输入有点坑;后来也就慢慢理解了;*/#include<cstdio>#include<cstring>using namespace std;const int maxn=1e3+7;int n,pre[maxn],d,x[maxn],y[maxn];bool vis[maxn];int Find(int root){ int son=root; while(root!=pre[root]) root=pre[root]; /** 下面是路径压缩,这个真的很有必要,有喝没有差别将近1000ms; 当然这个题目我还是跑了很久的(3250ms) ,有的大佬跑出了79ms,不知道怎么做的,伏地膜大佬。 */ while(son!=root) { int temp=pre[son]; pre[son]=root; son=temp; } return root;}void join(int root1,int root2){ int x=Find(root1),y=Find(root2); if(x!=y) pre[x]=y;}bool dis(int a,int b){ int k1=x[a]-x[b],k2=y[a]-y[b]; if(k1*k1+k2*k2<=d*d) return true; return false;}int main (){ scanf("%d %d",&n,&d); for(int i=1;i<=n;i++) { vis[i]=false; pre[i]=i; } for(int i=1;i<=n;i++) scanf("%d %d",&x[i],&y[i]); char ch; while(~scanf("%c",&ch)) { if(ch=='O') { int P; scanf("%d",&P); vis[P]=true; for(int i=1;i<=n;i++) if(dis(i,P)&&vis[i]&&i!=P) join(i,P);///满足条件两两进行合并; } else if(ch=='S') { int P,Q; scanf("%d %d",&P,&Q); int x=Find(P); int y=Find(Q);///判连通性; if(x==y) printf("SUCCESS\n"); else printf("FAIL\n"); } } return 0;}
阅读全文
0 0
- poj 2236 Wireless Network
- poj 2236 Wireless Network
- poj 2236 Wireless Network
- POJ 2236 Wireless Network
- POJ-2236 Wireless Network
- poj 2236 Wireless Network
- POJ 2236 - Wireless Network
- poj 2236 Wireless Network
- POJ 2236 Wireless Network
- poj 2236 wireless network
- POJ--2236--Wireless Network
- POJ-2236-Wireless Network
- poj 2236 Wireless Network
- poj 2236 Wireless Network
- POJ 2236Wireless Network
- POJ 2236 Wireless Network
- POJ 2236 Wireless Network
- POJ 2236 Wireless Network
- 数组去重的10中方法
- ubuntu安装jdk
- 松弛变量与惩罚因子
- 解决mac平台的mysql+python的中文乱码问题
- Sbulime3中配置Cmder
- Wireless Network POJ
- 用rvm安装升级ruby
- 神经网络图灵机的通俗解释和详细过程及应用?
- Java集合(四)
- 记住它,管理员还加班?不能够!
- 全球首例无人驾驶公交在中国上路!世界震惊!
- 泛式——学生成绩排序
- 【CIO早班车】倾听员工的声音,我们是专业的!
- 处理对象的多种状态及其相互转换——状态模式(四)