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 ...
随机推荐
- 清除SQL Server执行计划
有时需要调试SQL语句的性能, 需要不断的执行SQL语句, 可是多次执行同一条语句的时候,SQL Server 会缓存表的数据,结果就测不出来 实际的 SQL 的性能 用以下SQL可以清除缓存数据 D ...
- IIS7.5 HTTP 错误 500.19 - Internal Server Error 问题的解决方案
昨天在 windows 7 下用 IIS 7.5 运行一个以前用 .NET Framework 3.5 写的项目,发现总是出现 500.19 错误,如下: 百度了好久,没找到解决问题确切的答案,我也知 ...
- MySQL、SqlServer、Oracle三大主流数据库分页查询
在这里主要讲解一下MySQL.SQLServer2000(及SQLServer2005)和ORCALE三种数据库实现分页查询的方法.可能会有人说这些网上都有,但我的主要目的是把这些知识通过我实际的应用 ...
- Careercup - Facebook面试题 - 4892713614835712
2014-05-02 09:54 题目链接 原题: You have two numbers decomposed in binary representation, write a function ...
- [Android] ImageView.ScaleType设置图解 【转载】
ImageView的Scaletype决定了图片在View上显示时的样子,如进行何种比例的缩放,及显示图片的整体还是部分,等等. 设置的方式包括: 1. 在layout xml中定义android:s ...
- UML: CIM & PIM
CIM-1:定义业务流程 定义及分析业务流程(Business Process)是为了尽快理清系统范围,以便估算开发成本及时间,可不是为了要改造业务流程.系统分析员千万别误解了此步骤的目的.所以,系统 ...
- Jquery 查看DOM上绑定的事件列表
$(dom).data( "events" ); 包括事件类型和关联的处理函数 下面是firefox的截图
- java和javascript真的有关系=。=
相同点:1. 内存管理,两者都采用GC来对内存进行回收.因此Java与javascript的内存泄露情况十分相似. 2. 代码编译为机器码后由中间件执行:Java使用前会编译为字节码后由JVM执行,V ...
- [设计模式] 8 组合模式 Composite
DP书上给出的定义:将对象组合成树形结构以表示“部分-整体”的层次结构.组合使得用户对单个对象和组合对象的使用具有一致性.注意两个字“树形”.这种树形结构在现实生活中随处可见,比如一个集团公司,它有一 ...
- UVALive 6525
二分图最大匹配 #include<cstdio> #include<iostream> #include<cstring> #define MAX 10010 us ...