1205. By the Underground or by Foot?(spfa)
简单题 有一些小细节 两个站可能不相连 但是可以走过去
#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
#include<vector>
#include<queue>
#include<cmath>
using namespace std;
#define INF 0xfffffff
vector<int>ed[];
double v1,v2,x[],y[],w[][],dis[];
int n,vis[],pa[],o[];
void spfa(int s,int e)
{
int i;
for(i = ; i <= n ; i++)
dis[i] = INF;
dis[s] = ;
queue<int>q;
vis[s] = ;
q.push(s);
while(!q.empty())
{
int u = q.front();
q.pop();
vis[u] = ;
for(i = ; i < (int)ed[u].size() ; i++)
{
int v = ed[u][i];
if(dis[v]>dis[u]+w[u][v])
{
pa[v] = u;
dis[v] = dis[u]+w[u][v];
if(!vis[v])
{
vis[v] = ;
q.push(v);
}
}
}
}
printf("%.7lf\n",dis[e]);
int g = ,x=e;
while(pa[x]!=s)
{
x = pa[x];
g++;
o[g] = x;
}
printf("%d",g);
for(i = g ; i>= ; i--)
printf(" %d",o[i]);
puts("");
}
double dist(int u,int v)
{
double s = sqrt((x[u]-x[v])*(x[u]-x[v])+(y[u]-y[v])*(y[u]-y[v]));
return s;
}
int main()
{
int i,j,u,v;
cin>>v1>>v2;
cin>>n;
for(i = ; i <= n ;i++)
{
scanf("%lf%lf",&x[i],&y[i]);
}
for(i = ;i <= n+ ; i++)
for(j = ; j <= n+ ; j++)
w[i][j] = INF;
while(scanf("%d%d",&u,&v)!=EOF)
{
if(!u&&!v)
break;
w[u][v] = dist(u,v)/v2;
w[v][u] = w[u][v];
ed[u].push_back(v);
ed[v].push_back(u);
}
for(i = ; i <= n ; i++)
for(j = i+ ;j <= n ;j++)
{
if(w[i][j]==INF)
{
w[i][j] = dist(i,j)/v1;
w[j][i] = w[i][j]/v1;
ed[i].push_back(j);
ed[j].push_back(i);
}
}
scanf("%lf%lf%lf%lf",&x[],&y[],&x[n+],&y[n+]);
for(i = ; i <= n+ ;i++)
{
w[][i] = dist(i,)/v1;
w[i][] = w[][i];
ed[].push_back(i);
ed[i].push_back();
w[n+][i] = dist(i,n+)/v1;
w[i][n+] = w[n+][i];
ed[i].push_back(n+);
ed[n+].push_back(i);
}
n++;
for(i = ; i <= n ;i++)
w[i][i] = ;
spfa(,n);
return ;
}
1205. By the Underground or by Foot?(spfa)的更多相关文章
- URAL 1205 By the Underground or by Foot?(SPFA)
By the Underground or by Foot? Time limit: 1.0 secondMemory limit: 64 MB Imagine yourself in a big c ...
- 1210. Kind Spirits(spfa)
1210 简单模版题 敲个spfa还得瞟下模版.. #include <iostream> #include<cstdio> #include<cstring> # ...
- 九度OJ 1205 N阶楼梯上楼问题 (DP)
题目1205:N阶楼梯上楼问题 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:2817 解决:1073 题目描写叙述: N阶楼梯上楼问题:一次能够走两阶或一阶.问有多少种上楼方式. (要 ...
- 1450. Russian Pipelines(spfa)
1450 水题 最长路 #include <iostream> #include<cstdio> #include<cstring> #include<alg ...
- 1934. Black Spot(spfa)
1934 水题 RE了N久 后来发现是无向图 #include <iostream> #include<cstring> #include<algorithm> # ...
- 1930. Ivan's Car(spfa)
1930 简单二维 标记一下是上坡还是下坡 #include <iostream> #include<cstdio> #include<cstring> #incl ...
- SiteMesh入门(1-1)SiteMesh是什么?
1.问题的提出 在开发Web 应用时,Web页面可能由不同的人参与开发,因此开发出来的界面通常千奇百怪.五花八门,风格难以保持一致. 为了统一界面的风格,Struts 框架提供了一个标签库Tiles ...
- RecyclerViewLoadMoreDemo【封装上拉加载功能的RecyclerView,搭配SwipeRefreshLayout实现下拉刷新】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 封装含有上拉加载功能的RecyclerView,然后搭配SwipeRefreshLayout实现下拉刷新.上拉加载功能. 在项目中将 ...
- [zz]LyX 入门教程
http://blog.sina.com.cn/s/blog_630e5dec0100w3jl.html The LyX Tutorial by the LyX Team 1 目录 Chapter 1 ...
随机推荐
- Regex.Match 方法
Regex.Match 方法 在输入字符串中搜索正则表达式的匹配项,并将精确结果作为单个 Match 对象返回. 重载列表 (1) 在指定的输入字符串中搜索 Regex 构造函数中指定的正则 ...
- try-catch-finally中return的执行情况分析
try-catch-finally中return的执行情况分析: 1.在try中没有异常的情况下try.catch.finally的执行顺序 try --- finally 2.如果try中有异常,执 ...
- 51nod 1640 天气晴朗的魔法 最小生成树
题目链接: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1640 题解: 先求最小生成树,记录最大边. 然后求最大生成树 ...
- 【BZOJ】【3669】【NOI2014】魔法森林
LCT动态维护MST LCT动态维护MST 我们可以枚举a,然后找从1到n的一条路径使得:这条路径上的b的最大值最小.这个路径肯定在MST上……所以枚举一遍所有的边,动态维护一个关于b值的MST即可. ...
- 2014 Multi-University Training Contest 8
官方解题报告:http://blog.sina.com.cn/s/blog_a19ad7a10102uzj7.html Area of Mushroom http://acm.hdu.edu.cn/s ...
- 用windows远程连接linux桌面(使用tightvnc或者tigervnc)
一.安装tightvnc: tightvnc的安装在安装包中有详细的说明(README文件) 首先你要确保linux已经安装jpeg和zlib库, 2.编译 执行如下两个命令: [root@local ...
- 为什么乱码:<meta http-equiv="content-type">前的非ANSI字符
为什么乱码:<meta http-equiv="content-type">前的非ANSI字符 浏览器检测网页字符集的默认顺序 浏览器的网页字符集检测顺序通常是: ch ...
- Unity3D脚本中文系列教程(六)
http://dong2008hong.blog.163.com/blog/static/469688272014031943118/ Unity3D脚本中文系列教程(五) 变量 ◆var colli ...
- 设置go语言语法高亮
1. 将$GOROOT/misc/vim/go.vim文件拷贝到-/.vim/syntax/目录下 2. 添加下面代码到~/.vimrc文件中 let mysyntaxfile = "XXX ...
- 盘点 DevOps 世界的杰出女性(一)
[编者按]IT 领域从来不缺乏杰出的女性存在,近日,DevOps.com 主编 Alan Shimel 盘点了 DevOps 领域的杰出女性,首期为六个,本文系 OneAPM 工程师编译整理. 以下为 ...