HDU - 2502 Subway
题目链接:http://poj.org/problem?id=2502
分析:
告诉一些地铁线路,从起点到终点,中途可以步行,可以坐地铁,找一条最短的路
主要是把图建立好,然后直接dijkstra或者floyd,因为速度不同,所以转化成求最短的时间
题目大致处理方法就是将每个地铁站点与相邻的站点用时先算出,然后再算各个点之间步行耗时,最后一个dijkstra。
*:scanf的返回值由后面的参数决定scanf("%d%d",&a,&b);
如果a和b都被成功读入,那么scanf的返回值就是2
如果只有a被成功读入,返回值为1
如果a和b都未被成功读入,返回值为0
如果遇到错误或遇到end of file,返回值为EOF.
且返回值为int型.
Sample Input
- -
- -1
Sample Output
**********************************************
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<queue>
#include<stdlib.h>
#include<map>
#include<cmath> using namespace std; #define N 2500
#define INF 0x3f3f3f3f double v1=40000.0/,v2=10000.0/;
double maps[N][N], dist[N];
int vis[N], k=;; struct node
{
int x,y;
} p[N]; node s,e; double Len(node a,node b)
{
double x=a.x-b.x;
double y=a.y-b.y;
double len=sqrt(x*x+y*y);
return len;
} void Init()
{
for(int i=; i<N; i++)
{
for(int j=; j<N; j++)
maps[i][j]=(i==j)?:INF;
dist[i]=INF;
}
} void dij()
{
int i,j; for(i=; i<k; i++)
dist[i]=maps[][i]; vis[]=; for(i=; i<k; i++)
{
double Min=INF;
int index=-;
for(j=; j<k; j++)
{
if(vis[j]==&&Min>dist[j])
{
Min=dist[j];
index=j;
}
}
if(index==-) break;
vis[index]=; for(j=;j<k;j++)
if(dist[j]>maps[index][j]+dist[index]&&vis[j]==)
dist[j]=maps[index][j]+dist[index];
}
} int main()
{
int x,y,f=, i,j; scanf("%d %d", &s.x,&s.y);
scanf("%d %d",&e.x,&e.y);
p[]=s;
p[]=e; memset(vis,,sizeof(vis));
memset(maps,,sizeof(maps));
Init(); dist[]=;
vis[]=; while(scanf("%d %d",&x,&y)==)/*/
{
if(x==-&&y==-)
{
f=;
continue ;
} p[k].x=x;
p[k].y=y; if(f==)
maps[k][k-]=maps[k-][k]=min(maps[k][k-], Len(p[k],p[k-])/v1);
f=;
k++;
}
for(i=; i<k; i++)
for(j=; j<k; j++)
maps[i][j]=maps[j][i]=min(maps[i][j], Len(p[i],p[j])/v2); dij(); printf("%.0f\n", dist[]); return ;
}
HDU - 2502 Subway的更多相关文章
- POJ 2502 Subway / NBUT 1440 Subway / SCU 2186 Subway(图论,最短距离)
POJ 2502 Subway / NBUT 1440 Subway / SCU 2186 Subway(图论,最短距离) Description You have just moved from a ...
- POJ 2502 Subway(迪杰斯特拉)
Subway Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6692 Accepted: 2177 Descriptio ...
- POJ 2502 Subway (Dijkstra 最短+建设规划)
Subway Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6689 Accepted: 2176 Descriptio ...
- HDU 2502 月之数(二进制,规律)
月之数 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- POJ 2502 - Subway Dijkstra堆优化试水
做这道题的动机就是想练习一下堆的应用,顺便补一下好久没看的图论算法. Dijkstra算法概述 //从0出发的单源最短路 dis[][] = {INF} ReadMap(dis); for i = 0 ...
- POJ 2502 Subway (最短路)
Subway 题目链接: http://acm.hust.edu.cn/vjudge/contest/122685#problem/L Description You have just moved ...
- POJ 2502 Subway
Subway Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4928 Accepted: 1602 Descriptio ...
- (简单) POJ 2502 Subway,Dijkstra。
Description You have just moved from a quiet Waterloo neighbourhood to a big, noisy city. Instead of ...
- Dijkstra+计算几何 POJ 2502 Subway
题目传送门 题意:列车上行驶40, 其余走路速度10.问从家到学校的最短时间 分析:关键是建图:相邻站点的速度是40,否则都可以走路10的速度.读入数据也很变态. #include <cstdi ...
随机推荐
- NOIP2010-普及组复赛-第一题-数字统计
题目描述 Description 请统计某个给定范围[L, R]的所有整数中,数字 2 出现的次数. 比如给定范围[2, 22],数字 2 在数 2 中出现了 1 次,在数 12 中出现 1 次,在数 ...
- 【Machine Learning in Action --4】朴素贝叶斯过滤网站的恶意留言
背景:以在线社区的留言板为例,为了不影响社区的发展,我们需要屏蔽侮辱性的言论,所以要构建一个快速过滤器,如果某条留言使用了负面或者侮辱性的语言,那么就将该留言标识为内容不当.过滤这类内容是一个很常见的 ...
- Hadoop作业优化
mapper数量 reduce数量 combiner 中间值压缩 自定义序列 调整shuffle,减少溢出写 关闭推测执行 任务JVM重用 慢启动reduce
- NSURL访问项目中的文件
最近在研究视频处理,具体为:将一个mp4文件,拖入项目工程中,通过url访问文件. 开始代码如下: NSString *path = [[NSBundle mainBundle]pathForReso ...
- webservice 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下运行,将出现此问题
最近做的项目中,应用服务器迁移到另外一台服务器,操作系统升级为win10,配置好IIS里的应用程序发布网站和Webservice网站后, 客户端程序调用Webservice出错: “尝试加载 Orac ...
- mac 文件路径问题
Finder栏显示访问路径 操作步骤: 打开“终端”(应用程序->实用工具),输入以下两条命令: defaults write com.apple.finder _FXShowPosixPath ...
- ==、equals、hashCode区别?
[==.equals().hashCode()区别?] 1)== 运算符用来比较两个变量的值是否相等. 即该运算符用于比较变量对应得内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是 ...
- Java动态绑定的内部实现机制
JAVA虚拟机调用一个类方法时,它会基于对象引用的类型(通常在编译时可知)来选择所调用的方法.相反,当虚拟机调用一个实例方法时,它会基于对象实际的类型(只能在运行时得知)来选择所调用的方法,这就是动 ...
- nginx(ubuntu)设置别名访问目录
1 2 3 4 5 6 7 8 9 10 11 12 13 location /phpmyadmin/ { alias /data/phpmyadmin/; index index.html in ...
- msdn我告诉你
http://msdn.itellyou.cn/ 微软旗下所有的msdn订阅软件资源 均为ed2k资源 Business Solutions MSDN Library 工具和资源 应用程序 开发人员工 ...