wust April Chanllenge 2014 D题 poj2236 Wireless Network
来源:互联网 发布:apache 配置伪静态 编辑:程序博客网 时间:2024/09/21 09:04
n台电脑,在其正常时能与<=d范围内正常的电脑通信
开始,所有电脑都坏掉了,O a表示修好了a电脑,S a b查询a b电脑是否可通信
每次修好一台电脑,就枚举一遍所有已经修好的电脑,判断他们是否在d范围内,是的话就并查集合并
#include <iostream>#include <cstring>#include <string>#include <cstdio>#include <cmath>#include <algorithm>#include <vector>#include <queue>#include <map>#define inf 0x3f3f3f3f#define ll __int64using namespace std;int vis[1010],D,n,x[1010],y[1010],r[1010];double d[1010][1010];int root(int a){ if(r[a]==a) return a; while(r[a]!=a) a=r[a]; return r[a];}int main(){ int i,j,ra,ri,a,b; char s[10]; while(~scanf("%d%d",&n,&D)) { for(i=1;i<=n;i++) { scanf("%d%d",&x[i],&y[i]); } for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { if(i==j) d[i][j]=0; else d[i][j]=d[i][j]=sqrt((x[i]-x[j])*(x[i]-x[j])*1.0+(y[i]-y[j])*(y[i]-y[j])*1.0); } } for(i=0;i<=n;i++) r[i]=i; memset(vis,0,sizeof vis); while(~scanf("%s",s)) { if(s[0]=='O') { scanf("%d",&a); if(vis[a]) continue; for(i=1;i<=n;i++) { if(vis[i]) { if(d[i][a]<=D) { ri=root(i); ra=root(a); r[ri]=ra; } } } vis[a]=1; } else { scanf("%d%d",&a,&b); ri=root(a); ra=root(b); if(ra==ri) printf("SUCCESS\n"); else printf("FAIL\n"); } } } return 0;}
0 0
- wust April Chanllenge 2014 D题 poj2236 Wireless Network
- wust April Chanllenge 2014 C题 poj1751 Highways
- 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
- 【Cocos2dx游戏开发】CCNotificationCenter传递消息和数据
- 一个简单的CrackMe分析
- java操作mongoDB数据库的简单实例
- Oracle EBS - Details of Adpreclone and Adcfgclone
- MapReduce源码分析之InputSplit分析
- wust April Chanllenge 2014 D题 poj2236 Wireless Network
- Linux Socket Programming by Example-第十一章 多客户端并发处理
- POJ2457 Part Acquisition(Spfa最短路+记录路径)
- Android学习笔记(一)——生命周期
- Java之split方法
- Box2D C++ 教程-匀速运动
- 重回我大Linux的怀抱,这次选择Fedora 20,给力
- 单调栈模型图解入门(HDU1506)
- 【转】WSDL文件简介(附例子)