poj2236

专心和细心真的很重要

#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<stdlib.h>
#include<limits.h>
#include<math.h>
#include<queue>
#include<stack>
#include<vector>
#define max(a, b) a>b?a:b;
#define min(a, b) a<b?a:b;
using namespace std;
const int N = 1010;
int f[N], d;
struct node
{
int x, y, flag;
} p[N];
int Find(int x)
{
if(f[x]!=x)
f[x]=Find(f[x]);
return f[x];
}
int dist(int a, int b)
{
int q=p[a].x-p[b].x;
int w=p[a].y-p[b].y;
if(q*q+w*w<=d*d)
return 1;
else
return 0;
}
int main()
{
int n, m, a, b;
char ch;
scanf("%d%d", &n, &d);
for(int i=1; i<=n; i++)
{
scanf("%d%d", &p[i].x, &p[i].y);
p[i].flag=0;
f[i]=i;
}
while(cin >> ch)
{
if(ch==‘O‘)
{
scanf("%d", &m);
p[m].flag=1;
for(int i=1; i<=n; i++)
{
if(i!=m&&p[i].flag==1&&dist(i, m)==1)
{
int k1=Find(m);
int k2=Find(i);
f[k1]=k2;
}
}
}
if(ch==‘S‘)
{
scanf("%d%d", &a, &b);
int fa=Find(a);
int fb=Find(b);
if(fa==fb)
printf("SUCCESS\n");
else
printf("FAIL\n");
}
}
return 0;
}

时间: 2024-09-28 18:03:07

poj2236的相关文章

POJ2236 wireless network 【并查集水题】

前端开发whqet,csdn,王海庆,whqet,前端开发专家 今天是个好日子,2014年5月20日,表白的最佳时机,虽说孩子已经四岁.结婚已经五年,但是也不可以偷懒,于是有了这个效果. 在线研究点这里,下载收藏点这里.程序猿and程序媛,大胆秀出你的爱吧. 利用html5 canvas实现动态的文字粒子效果,效果如下. OK,简单看看原理,首先我们需要在canvas里面实现描边文字,然后利用getImageData获得描边文字的像素矩阵,将粒子效果绑定在描边文章上. 整个效果如下. html文

POJ-2236(并查集)

Wireless NetWork POJ-2236 需要注意这里的树的深度需要初始化为0. 而且,find函数需要使用路径压缩,这里的unint合并函数也使用了优化(用一开始简单的合并过不了). #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<string> #include<cmath> using namespac

poj-2236 Wireless Network (基础并查集)

http://poj.org/problem?id=2236 由于发生了地震,有关组织组把一圈电脑一个无线网,但是由于余震的破坏,所有的电脑都被损坏,随着电脑一个个被修好,无线网也逐步恢复工作,但是由于硬件的限制,一台电脑和另一台电脑能够相连当他们之间的距离小于d,或者还有一台电脑当中介,分别与两台电脑相连. 在修复的过程中,工作者会有两种操作,修复电脑和询问电脑a和电脑b是否相连.当询问的时候输出答案. 因为输入数据很大,需要快速判断电脑a和电脑b相连,所以自然想到用并查集. 初始时候 全部电

POJ2236 Wireless Network 并查集 好题

Wireless Network Description An earthquake takes place in Southeast Asia. The ACM (Asia Cooperated Medical team) have set up a wireless network with the lap computers, but an unexpected aftershock attacked, all computers in the network were all broke

POJ2236(KB5-A)

Wireless Network Time Limit: 10000MS   Memory Limit: 65536K Total Submissions: 28617   Accepted: 11842 Description An earthquake takes place in Southeast Asia. The ACM (Asia Cooperated Medical team) have set up a wireless network with the lap compute

poj2236(并查集)

题目连接 题意:一张图上分布着n台坏了的电脑,并知道它们的坐标.两台修好的电脑如果距离<=d就可以联网,也可以通过其他修好的电脑间接相连.给出操作“O x”表示修好x,给出操作“S x y”,请你判断x和y在此时有没有连接上. 分析:把每次修好的电脑能到达的都扔进一个集合里,然后直接判断即可. #include <cstdio> #include <cstring> #include <string> #include <cmath> #include

poj2236 Wireless Network 并查集简单应用

Description An earthquake takes place in Southeast Asia. The ACM (Asia Cooperated Medical team) have set up a wireless network with the lap computers, but an unexpected aftershock attacked, all computers in the network were all broken. The computers

并查集 poj2236

网址:http://poj.org/problem?id=2236 题意:有n台坏的电脑,如果每两台电脑的距离不能超过d,那么这两台电脑有联系,用字符串O 表示标记第x台电脑维修了,用S判断从X到y是否有联系... 题解:用并查集记录和查找每个点的父亲节点,每次输入的同时遍历该点和其他点是否有联系(即距离小于等于的)..... 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 using name

poj2236(Wireless Network)并查集

Description An earthquake takes place in Southeast Asia. The ACM (Asia Cooperated Medical team) have set up a wireless network with the lap computers, but an unexpected aftershock attacked, all computers in the network were all broken. The computers