[并查集] POJ 2236 Wireless Network
| Time Limit: 10000MS | Memory Limit: 65536K | |
| Total Submissions: 25022 | Accepted: 10399 |
Description
In the process of repairing the network, workers can take two kinds of operations at every moment, repairing a computer, or testing if two computers can communicate. Your job is to answer all the testing operations.
Input
1. "O p" (1 <= p <= N), which means repairing computer p.
2. "S p q" (1 <= p, q <= N), which means testing whether computer p and q can communicate.
The input will not exceed 300000 lines.
Output
Sample Input
4 1
0 1
0 2
0 3
0 4
O 1
O 2
O 4
S 1 4
O 3
S 1 4
Sample Output
FAIL
SUCCESS
Source
#include<stdio.h>
#include<string.h>
#include<math.h>
#define dist(x1,y1,x2,y2) (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)
int father[10050],n,d;
bool ingragh[10050];
struct node
{
int x,y;
}node[10050];
int find(int x)
{
if(x==father[x]) return (x);
else father[x]=find(father[x]);
return (father[x]);
}
void merge(int x,int y)
{
int find_x=find(x);
int find_y=find(y);
if(find_x!=find_y&&dist(node[x].x,node[x].y,node[y].x,node[y].y)<=d*d)
father[find_x]=find_y;
return;
}
void init()
{
int i;
for(i=1;i<=n;++i) father[i]=i;
memset(ingragh,false,sizeof(ingragh));
}
int main()
{
int i,query1,query2;
char c;
scanf("%d%d",&n,&d);
init();
for(i=1;i<=n;++i) scanf("%d%d",&node[i].x,&node[i].y);
while(~scanf("%c%d",&c,&query1))
{
if(c=='O')
{
for(i=1;i<=n;++i) if(ingragh[i]) merge(i,query1);
ingragh[query1]=true;
}
else
if(c=='S')
{
scanf("%d",&query2);
if(ingragh[query1]&&ingragh[query2])
{
if(find(query1)==find(query2))
{
printf("SUCCESS\n");
continue;
}
}
printf("FAIL\n");
}
}
return 0;
}
[并查集] POJ 2236 Wireless Network的更多相关文章
- [ An Ac a Day ^_^ ] [kuangbin带你飞]专题五 并查集 POJ 2236 Wireless Network
题意: 一次地震震坏了所有网点 现在开始修复它们 有N个点 距离为d的网点可以进行通信 O p 代表p点已经修复 S p q 代表询问p q之间是否能够通信 思路: 基础并查集 每次修复一个点重新 ...
- POJ 2236 Wireless Network ||POJ 1703 Find them, Catch them 并查集
POJ 2236 Wireless Network http://poj.org/problem?id=2236 题目大意: 给你N台损坏的电脑坐标,这些电脑只能与不超过距离d的电脑通信,但如果x和y ...
- poj 2236:Wireless Network(并查集,提高题)
Wireless Network Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 16065 Accepted: 677 ...
- POJ 2236 Wireless Network(并查集)
传送门 Wireless Network Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 24513 Accepted ...
- POJ 2236 Wireless Network (并查集)
Wireless Network Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 18066 Accepted: 761 ...
- POJ 2236 Wireless Network (并查集)
Wireless Network 题目链接: http://acm.hust.edu.cn/vjudge/contest/123393#problem/A Description An earthqu ...
- poj 2236 Wireless Network (并查集)
链接:http://poj.org/problem?id=2236 题意: 有一个计算机网络,n台计算机全部坏了,给你两种操作: 1.O x 修复第x台计算机 2.S x,y 判断两台计算机是否联通 ...
- poj 2236 Wireless Network 【并查集】
Wireless Network Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 16832 Accepted: 706 ...
- POJ 2236 Wireless Network [并查集+几何坐标 ]
An earthquake takes place in Southeast Asia. The ACM (Asia Cooperated Medical team) have set up a wi ...
随机推荐
- 【前端】require函数实现原理
// require函数实现原理: function require(modulePath) { var regExp = /\w+$/g; var moduleName = regExp.exec( ...
- 广播Broadcast Receiver
广播的类型: 1.标准广播(Normal broadcat) 完全异步执行的广播,所有广播接收器同一时间接收广播消息. 效率高,但无法被截断. 2.有序广播 同步执行的广播,同一时刻只能有一个广播接收 ...
- CSS里width: auto\9 是什么意思
color:red;//一般浏览器识别,字体颜色为红color:blue \9;//IE8,IE9及以上版本识别,字体颜色为蓝*color:orange;//IE7识别,字体颜色为橘色_color:b ...
- Swift根据日期字符串返回日期是星期几
最近在做的一个IOS项目中需要根据日期得出日期代表的是星期几,日期以字符串的形式获得,于是该方法可以简单描述如下: /* * 根据日期格式字符串返回日期代表星期几 * 参数:dateTime,字符串类 ...
- PHP设计模式
设计模式总的分为三种,创建型模式.结构性模式.行为型模式 1.创建型模式 创建型模式为根据实际情况来创建对象,创建的模式又分为对象创建模式和类创建模式,对象创建模式会把对象创建的一部分在另一个对象中实 ...
- Node.js学习-1
关于node.js 首先,node.js不是一门语言,是一个平台.因为在以前,javascript主要是用于网页的交互,所以必须依附于浏览器存在,只有在浏览器上才能运行javascript. 后来ja ...
- 程序设计入门——C语言 第7周编程练习 2 鞍点(5分)(5分)
2 鞍点(5分) 题目内容: 给定一个n*n矩阵A.矩阵A的鞍点是一个位置(i,j),在该位置上的元素是第i行上的最大数,第j列上的最小数.一个矩阵A也可能没有鞍点. 你的任务是找出A的鞍点. 输入格 ...
- PR曲线,ROC曲线,AUC指标等,Accuracy vs Precision
作为机器学习重要的评价指标,标题中的三个内容,在下面读书笔记里面都有讲: http://www.cnblogs.com/charlesblc/p/6188562.html 但是讲的不细,不太懂.今天又 ...
- PHP简单文件上传
一个简单的PHP上传文件的例子: upload.html <html> <body> <form action="upload.php" method ...
- [SoapUI] Groovy在SoapUI里获取Text文本第一行数据
// get external txt file datadef groovyUtils =new com.eviware.soapui.support.GroovyUtils(context)def ...