并查集-2
来源:互联网 发布:ons模拟器mac版 编辑:程序博客网 时间:2024/04/29 08:49
题目描述:
一场地震在东南亚发生了。不幸的是ACM组织通过计算机简历的无线网络遭到毁灭性的影响———网络中所有的计算机都损坏了。在经过维修之后,无线网络又逐渐开始运作了。由于硬件的制约,每两台计算机只能保持不超过d米的距离,才可以直接进行通信,但是每台计算机又可以作为其他两台计算机通信的中介点。也就是说,如果A计算机与B计算机不在能直接通信的范围内,但是它们可以同时通过与A和B计算机通信的C计算机建立间接的通信关系。
在维修的过程中,维修者可以进行两种操作:维修一台计算机或者检测两台计算机之间是否能够通信,你的任务就是解答每一次的检测操作。
输入:
第一行包含两个整数N和d(1<=N<=1001,0<=d<=20 000),N表示计算机的数量,计算机的编号从1开始到N,d为两台能直接通信的计算机所需保持的距离的最大值。在接下来的N行里。每行包含两个整数x和y(0<=x,y<=10 000),表示N台计算机的坐标,接下来的一系列的输入都比表示维修者的操作,每种操作都是以下两种操作中的一种:
①"O p"(1<=p<=N),表示维修第p台计算机。
②"S p q"(1<=p,q<=N),表示检测p与q计算机是否能够通信。
输出:
对于每组检测操作,若两台计算机能进行通信就输出"SUCCESS",否则输出"FAIL"
样例输入:
4 1
0 1
0 2
0 3
0 4
0 5
O 1
O 2
O 4
S 1 4
O 3
S 1 4
样例输出:
FAIL
SUCCESS
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>int map[1005][1005];//标记可以直接通信的计算机int f[1005];int mul(int x) {return x * x;}int find(int x){if(f[x] != x)f[x] = find(f[x]);return f[x];}void make(int a, int b){int f1 = find(a);int f2 = find(b);if(f1 != f2)f[f2] = f1;}void check(int a, int b){int f1 = find(a);int f2 = find(b);if(f1 == f2){printf("SUCCESS\n");return ;}printf("FAIL\n");}int main(){int n, flag[1005];//flag标记计算机是否完好double d;memset(map, 0, sizeof(map));memset(flag, 0, sizeof(flag));scanf("%d%lf", &n, &d);int x[1005], y[1005], i, j, k;for(i = 1; i <= n; i ++)scanf("%d%d", &x[i], &y[i]);for(i = 1; i <= n; i ++)f[i] = i;for(i = 1; i < n; i ++)for(j = i+1; j <= n; j ++)if(sqrt((double)(mul(x[i]-x[j])+mul(y[i]-y[j]))) <= d){map[i][j] = 1;map[j][i] = 1;}char s[5];int a, b;while(scanf("%s", s) != EOF){if(strcmp(s, "O") == 0){scanf("%d", &a);flag[a] = 1;for(i = 1; i <= n; i ++)if(map[i][a] && flag[i])make(a, i);}else{scanf("%d%d", &a, &b);check(a, b);}}return 0;}
0 0
- 并查集-2
- 并查集--(2)
- 并查集(2)
- 并查集(2)
- HDU3938 并查集 并查集
- 并查集(集并查)
- HDU1232 并查集<并>
- 并查集学习(2)
- MUTC 2 D - Matrix 并查集
- 《并查集》hdoj acm 5.1.2
- 图 (并查集)2
- 并查集学习笔记2
- POJ1703 并查集(2) 向量偏移
- 并查集或图floyd-2
- 并查集练习2:HDOJ1232
- 高级数据结构2--并查集
- 并查集
- 数据结构-并查集
- Your operating system's lex is insufficient to compile libpcap
- 笔试题记录1
- 数组
- 数组 数组方法 String方法
- jsp 中request 、response以及filter互相之间的关系
- 并查集-2
- Function函数
- JavaScript Boolean 对象
- DevExpress的LayoutControl
- mysql中文乱码,mysql中文但是网页显示乱码解决办法
- 作用域 变量的提升
- html链接下光标的不同形状
- Java XML解析技术
- 电子购物商城项目总结