poj 2236 并查集水题
来源:互联网 发布:因子分解机 推荐算法 编辑:程序博客网 时间:2024/06/02 23:31
点击打开链接
#include <iostream>#include <cmath>using namespace std;const int M= 1100;typedef struct {double x;double y;}Node;Node node[M];int par[M],n,state[M]; // state[i] i号机是否修好 double d;void Inin(){for(int i=1;i<=n;i++){par[i]=i;state[i]=0;}}bool dis(int a,int b){double dx=node[b].x-node[a].x;double dy=node[b].y-node[a].y;if(sqrt(dx*dx+dy*dy)<=d){return true;}return false;}int find(int x){if(x!=par[x]){par[x]=find(par[x]);}return par[x];}void Union(int x,int y){int a=find(x);int b=find(y);if(a!=b)par[a]=b;}int main(){cin>>n>>d;for(int i=1;i<=n;i++){cin>>node[i].x>>node[i].y;}Inin();//char c;while(cin>>c){if(c=='O'){int x;cin>>x;state[x]=1;//for(int i=1;i<=n;i++){if(x!=i&&state[i]&& dis(x,i)){Union(x,i); // 在一个集合中的元素能互相 communicate }}}if(c=='S'){int a,b;cin>>a>>b;if(state[a]==0||state[b]==0){cout<<"FAIL"<<endl;continue;}int fa=find(a);int fb=find(b);if(fa!=fb){cout<<"FAIL";}else{cout<<"SUCCESS";}cout<<endl;}}return 0;}
0 0
- poj 2236 并查集水题
- POJ 2524 并查集水题
- POJ 1611 并查集水题
- poj 2524宗教信仰 并查集水题
- 并查集水题 POJ 1611
- 并查集水题
- 并查集水题
- 并查集水题
- POJ 1611--The Suspects【并查集水题】
- poj 1611 The Suspects 并查集水题
- poj 1213 How Many Tables 并查集水题
- 并查集水题 POJ2524
- POJ2524 并查集水题
- HDOJ1856 并查集水题
- HDU 3172 并查集水题
- POJ2236 wireless network 【并查集水题】
- 畅通工程+并查集水题+hdu
- UVA - 10608 Friends 并查集水题
- Activity生命周期
- ajax get 的写法
- 欢迎使用CSDN-markdown编辑器
- gen already exists but is not a source folder. Convert to a source folder or rename it
- 10大Java Twitters
- poj 2236 并查集水题
- MySQL server has gone away 问题
- 查找并删除
- 提高项目2-求解分段函数的值
- java 导出Excel 大数据量(一)
- 删除单链表中的重复节点(删除重复项)
- 阅读笔记3-FCNT:Visual Tracking with Fully Convolutional Networks
- 2048-C语言版
- Android缓存机制&一个缓存框架推荐