poj2502 Subway
思路:
需要注意的地方:一条地铁线路并不一定和样例描述的那样是直的;同一条线路上的两个站点步行可能更快。
实现:
- #include <iostream>
- #include <cstdio>
- #include <cmath>
- using namespace std;
- const int MAXN = , INF = 0x3f3f3f3f;
- int sx, sy, ex, ey;
- double dis[MAXN][MAXN];
- struct node
- {
- int x, y;
- };
- node a[MAXN];
- int square(int x)
- {
- return x * x;
- }
- double cal(int i, int j)
- {
- return sqrt((double)square(a[i].x - a[j].x) + (double)square(a[i].y - a[j].y));
- }
- int main()
- {
- int x, y;
- cin >> sx >> sy >> ex >> ey;
- a[].x = sx; a[].y = sy;
- int tmp = , cnt = ;
- for (int i = ; i < MAXN; i++)
- {
- for (int j = ; j < MAXN; j++)
- {
- dis[i][j] = INF;
- }
- }
- for (int i = ; i < MAXN; i++) dis[i][i] = ;
- while (cin >> x >> y)
- {
- if (x == - && y == -)
- {
- for (int i = tmp; i < cnt - ; i++)
- dis[i][i + ] = dis[i + ][i] = cal(i, i + ) / 40.0;
- tmp = cnt;
- continue;
- }
- a[cnt++].x = x; a[cnt - ].y = y;
- }
- a[cnt].x = ex; a[cnt].y = ey;
- for (int i = ; i <= cnt; i++)
- {
- for (int j = i + ; j <= cnt; j++)
- {
- dis[i][j] = dis[j][i] = min(dis[i][j], cal(i, j) / 10.0);
- }
- }
- for (int k = ; k <= cnt; k++)
- {
- for (int i = ; i <= cnt; i++)
- {
- for (int j = ; j <= cnt; j++)
- if (dis[i][k] + dis[k][j] < dis[i][j])
- dis[i][j] = dis[i][k] + dis[k][j];
- }
- }
- cout << int(dis[][cnt] / 1000.0 * 60.0 + 0.5) << endl;
- return ;
- }
poj2502 Subway的更多相关文章
- POJ2502:Subway(最短路)
Subway Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14634 Accepted: 4718 题目链接:http ...
- POJ-2502 Subway( 最短路 )
题目链接:http://poj.org/problem?id=2502 Description You have just moved from a quiet Waterloo neighbourh ...
- poj图论解题报告索引
最短路径: poj1125 - Stockbroker Grapevine(多源最短路径,floyd) poj1502 - MPI Maelstrom(单源最短路径,dijkstra,bellman- ...
- 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(Dijikstra应用+最短路)
Subway POJ-2502 这里除了直接相连的地铁站,其他图上所有的点都要连线,这里是走路的速度. 记住最后的结果需要四舍五入,否则出错. #include<iostream> #in ...
- 第一次作业——subway
作业源程序代码:https://github.com/R-81/subway 作业程序使用说明:通过输入命令参数求解路线(仅支持-b,-c),根据参数得出路线后,程序不会结束,此时可输入地铁路线名(例 ...
- 2016 Multi-University Training Contest 1 J.Subway
Subway Time Limit: 7000/3500 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Su ...
- Subway Icon Set – 306个像素完美的特制图标
这个图标集是306个优化的像素完美,精雕细琢的图标.为这些设备进行了优化:iOS.Windows Phone.Windows 8 and BlackBerry 10,提供 PNG, SVG, XALM ...
- ural 1272. Non-Yekaterinburg Subway
1272. Non-Yekaterinburg Subway Time limit: 1.0 secondMemory limit: 64 MB A little town started to co ...
随机推荐
- codevs 3498 小木棍
3498 小木棍 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 乔治有一些同样长的小木棍,他把这些木棍随意 ...
- Redis集群方案之主从复制(待实践)
Redis有主从复制的功能,一台主可以有多台从,从还可以有多台从,但是从只能有一个主.并且在从写入的数据不会复制到主. 配置 在Redis中,要实现主从复制架构非常简单,只需要在从数据库的配置文件中加 ...
- 如何使用TFTP客户端工具修复路由器固件
如何使用TFTP客户端工具修复路由器固件 编号:12083 来自:NetGear 更新日期:2013-10-14 访问数量:24650 NETGEAR无线路由器中, ...
- AutoCAD如何倒角 倒圆角 倒直角
倒圆角:输f 再输r 再输入你想倒的半径,然后选相邻的两边倒直角:输chamfer 再输d 再输你想倒的距离,然后先相邻的两边 祝你成功
- MTK Camera驱动移植
对于MTK Camera驱动移植一般分为四部分: 1.硬件IO口配置: 2.Camera驱动移植: 3.上电时序. 4.改动i2c控制器: 硬件电路: 1.GPIO配置 打开 mediatek\dct ...
- prototype与几个循环的心得
<一>prototypeprototype其实是函数的一个属性,并且只有函数有这个属性,这个属性就是给函数增加函数或者属性的,比如写一个function one(){},那么one.pro ...
- eclipse到Android Studio的项目迁移
一直以来.公司开发都是用eclipse.可是随着我们应用不断成长.项目结构越来越庞大.项目间依赖关系变得非常复杂.用eclipse管理显得非常吃力,常常一个同事更改依赖项目之后,别人在更新.都会出现故 ...
- 自己定义ViewGroup控件(一)----->流式布局进阶(一)
main.xml <? xml version="1.0" encoding="utf-8"?> <com.example.SimpleLay ...
- IIS6下PHP配置(转载)
Windows 2003+IIS6+PHP5.4.10配置PHP支持空间的方法 (2013-01-10 16:48:56)标签: php it php环境 php配置 分类: PHP环境配置简介:一般 ...
- 【bzoj1029】[JSOI2007]建筑抢修
按照t2从小到大排列之后贪心. 若当前任务可以插入,则插入. 若当前任务不可以插入,分两种情况: ①当前任务的耗时大于等于之前插入的任务的最大耗时:跳过当前任务 ②当前任务的耗时小于之前插入的任务的耗 ...