POJ2236 Wireless Network
来源:互联网 发布:webdriver java testng 编辑:程序博客网 时间:2024/05/23 16:16
/*并查集*/#include <iostream>#include <cmath>#include <string>using namespace std;const int MAXN = 1005;int father[MAXN];int n, d;struct node {double x, y;int flag;};node parent[MAXN];void init(){for (int i = 1; i <= n; ++i) {father[i] = i;parent[i].flag = 0;}return;}int getfather(int x){if (x != father[x]) father[x] = getfather(father[x]);return father[x];}double caldis(node a, node b){return sqrt(pow(a.x - b.x, 2.0) + pow(a.y - b.y, 2.0));}void solve(int j){for (int i = 1; i <= n; ++i) {if (i != j && parent[i].flag && caldis(parent[i], parent[j]) <= d) {int fi = getfather(i);int fj = getfather(j);if (i == fi) {father[i] = fj;}else {if (j == fj) {father[j] = fi;}else {if (fi != fj) {father[fi] = fj;}}}}}}int main(){while (cin >> n >> d) {init();for (int i = 1; i <= n; ++i) {cin >> parent[i].x >> parent[i].y;}string s;int x, y;while (cin >> s) {if (s == "O") {cin >> x;parent[x].flag = 1;solve(x);}else {cin >> x >> y;if (getfather(x) == getfather(y)) cout << "SUCCESS" << endl;else cout << "FAIL" << endl;}}}return 0;}
0 0
- POJ2236 Wireless Network
- poj2236 - Wireless Network
- poj2236 Wireless Network
- POJ2236 Wireless Network
- POJ2236 Wireless Network
- poj2236 Wireless Network
- POJ2236---Wireless Network
- POJ2236--Wireless Network
- poj2236 Wireless Network
- poj2236 Wireless Network
- POJ2236-Wireless Network
- POJ2236(Wireless Network)
- POJ2236 Wireless Network
- poj2236 Wireless Network
- POJ2236 Wireless Network
- poj2236 Wireless Network
- poj2236 Wireless Network
- POJ2236——Wireless Network
- oracle中创建恢复目录
- CF448CPainting Fence
- 2014新生暑假个人排位赛02 D. 学姐逗学弟
- Vs2012 编译 GDAL 1.11.0
- Page.ClientScript.RegisterStartupScript用法小结
- POJ2236 Wireless Network
- IPOPT工具解决非线性规划最优化问题使用案例
- 杭电 1548 A strange lift(广搜)
- Windchill9.1官方帮助文档
- 更改eclipse tomcat jvm heap
- linux进程通信之SYSTEM V信号量
- 防止UIScrollView的自动偏移
- rf books good
- 向指定文件,指定位置插入内容