#include<cstdio>
#include<cmath>
#include<iostream>
using namespace std;
typedef long long ll;
typedef double real; #define setfire(name) freopen(#name".in","r",stdin);freopen(#name".out","w",stdout);
#define fre(name) freopen(#name".txt","r",stdin);
#define debug(x) cout<<#x<<" "<<x<<'\n';
#ifdef WIN32
#define LL "%I64d"
#else
#define LL "%lld"
#endif const int N=;
const real inf=1e14;
struct M{int x,y;}a[N];
int n,row,line,S,T,q[N*];bool vis[N*];
real ans,g[N][N],dis[N];
double get_dis(M a,M b){
int tx=a.x-b.x,ty=a.y-b.y;
return sqrt(tx*tx+ty*ty);
}
void init(){
scanf("%d%d%d",&n,&row,&line);S=n+;T=S+;
for(int i=,x,y;i<=n;i++) scanf("%d%d",&a[i].x,&a[i].y);
}
void mapping(){
for(int i=;i<=n;i++)
// g[S][i]=g[i][S]=min(a[i].x-1,row-a[i].x),//居然还90
// g[T][i]=g[i][T]=min(a[i].y-1,line-a[i].y);
g[S][i]=g[i][S]=min(a[i].x-,line-a[i].y),
g[T][i]=g[i][T]=min(a[i].y-,row-a[i].x);
for(int i=;i<=n;i++)
for(int j=i;j<=n;j++)
g[i][j]=g[j][i]=get_dis(a[i],a[j])/2.0;
ans=inf;
for(int i=;i<=n;i++)
ans=min(ans,get_dis(a[i],(M){,})),
ans=min(ans,get_dis(a[i],(M){row,line}));
g[S][T]=g[T][S]=min(row-,line-);
}
void spfa(){
for(int i=;i<=T;i++) vis[i]=,dis[i]=inf;
unsigned short h=,t=;real dl;
q[t]=S;dis[S]=;
while(h!=t){
int x=q[++h];vis[x]=;//少打个标记90变30
for(int i=;i<=T;i++){
if(x!=i&&(dl=max(dis[x],g[x][i]))<dis[i]){
dis[i]=dl;
if(!vis[i]){
vis[i]=;
q[++t]=i;
}
}
}
}
}
int main(){
setfire(dis);
init();
mapping();
spfa();
ans=min(ans,dis[T]);
printf("%.2lf",ans);
return ;
}

SDOI2012 Round1 day2 拯救小云公主(dis)解题报告的更多相关文章

  1. 洛谷 P2498 [SDOI2012]拯救小云公主 解题报告

    P2498 [SDOI2012]拯救小云公主 题目描述 英雄又即将踏上拯救公主的道路-- 这次的拯救目标是--爱和正义的小云公主. 英雄来到\(boss\)的洞穴门口,他一下子就懵了,因为面前不只是一 ...

  2. 【BZOJ】【3007】拯救小云公主

    思路题 我的naive的做法是二分答案+判定是否有路径可走……但是没有正确理解[走的方向任意]这句话…… 其实就是说想咋走咋走= =360°无死角乱走…… 所以其实是个平面上的问题…… 我们可以换个方 ...

  3. BZOJ:4219: 跑得比谁都快 3007: 拯救小云公主

    4219: 跑得比谁都快 3007: 拯救小云公主 三角剖分的解释可以看这里:http://www.cnblogs.com/Enceladus/p/6706444.html 后一道是前一道的弱化版. ...

  4. 【BZOJ3007】拯救小云公主 二分+几何+对偶图

    [BZOJ3007]拯救小云公主 Description     英雄又即将踏上拯救公主的道路……     这次的拯救目标是——爱和正义的小云公主.     英雄来到boss的洞穴门口,他一下子就懵了 ...

  5. 二分+并查集【bzoj3007】[SDOI2012]拯救小云公主

    Description 英雄又即将踏上拯救公主的道路-- 这次的拯救目标是--爱和正义的小云公主. 英雄来到boss的洞穴门口,他一下子就懵了,因为面前不只是一只boss,而是上千只boss.当英雄意 ...

  6. 洛谷P2498 [SDOI2012]拯救小云公主 【二分 + 并查集】

    题目 英雄又即将踏上拯救公主的道路-- 这次的拯救目标是--爱和正义的小云公主. 英雄来到boss的洞穴门口,他一下子就懵了,因为面前不只是一只boss,而是上千只boss.当英雄意识到自己还是等级1 ...

  7. P2498 [SDOI2012]拯救小云公主

    \(\color{#0066ff}{ 题目描述 }\) 英雄又即将踏上拯救公主的道路-- 这次的拯救目标是--爱和正义的小云公主. 英雄来到boss的洞穴门口,他一下子就懵了,因为面前不只是一只bos ...

  8. bzoj3007: 拯救小云公主

    Description     英雄又即将踏上拯救公主的道路……     这次的拯救目标是——爱和正义的小云公主.     英雄来到boss的洞穴门口,他一下子就懵了,因为面前不只是一只boss,而是 ...

  9. 【bzoj3007】拯救小云公主 二分+对偶图+并查集

    题目描述 英雄又即将踏上拯救公主的道路…… 这次的拯救目标是——爱和正义的小云公主. 英雄来到boss的洞穴门口,他一下子就懵了,因为面前不只是一只boss,而是上千只boss.当英雄意识到自己还是等 ...

随机推荐

  1. Linux内核锁与中断处理

    Linux内核锁 在Linux内核里面,一般采用了如下几种锁的机制,来保证多线程的同步与互斥: (1)原子操作 atomic_t v: void atomic_set(atomic_t *v, int ...

  2. C#中out与ref区别

    一.ref(参考)与out区别 1.out(只出不进) 将方法中的参数传递出去,在方法中将该参数传递出去之前需要在该方法起始赋初值:在方法外传递的该参数可以不用赋值: 简单理解就是:将一个东西抛出去之 ...

  3. 全国省会城市路网以及POI 数据

  4. Linux&Windows下批量修改文件后缀

    Linux下从给定文件夹中找出小于1M的文件,并批量添加.gif后缀 先看一下文件夹下的目录的格式 ll -Sh -rw-rw-r-- 1 yangkun yangkun 17M May 10 15: ...

  5. How to initialize th rasp berry PI

    WHAT YOU WILL NEED REQUIRED SD Card We recommend an 8GB class 4 SD card – ideally preinstalled with ...

  6. CentOS 7.2通过yum安装zabbix

    环境说明 系统版本    CentOS 7.2 x86_64 软件版本    yum安装zabbix 3.0.18 首先准备一台纯净的CentOS 7.2系统 1.配置zabbix源 [root@za ...

  7. 底部菜单实现(Dialog方案)

    项目中经常会要实现在屏幕底部弹出一个窗口,比如一个分享窗口: 下面详解实现步骤: 1.定义布局 <?xml version="1.0" encoding="utf- ...

  8. Windows为什么双击打开‘我的电脑’, 没有了‘前进’‘ 后退’‘向上’等按钮?

    如图所示   点击查看 工具栏 标准按钮即可   左侧的数值虚线可以拖动到任意,还可以添加按钮如搜索,删除,复制,剪切等

  9. PS如何用制作BMP 256位色非压缩图片,供Easyboot作为背景

    可以先把图片转换为gif格式,然后用Windows自带的画图工具打开,并另存为BMP格式的图片. 但是这样制作完成的图片失真相当严重 再如下面,简直无法不堪入目.   也可以使用PS.准备好图片之后点 ...

  10. cmake 生成VS项目文件夹

    SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON) SET_TARGET_PROPERTIES(test_tcp_client test_tcp_server P ...