这个题的输入输出注意一下就好

#include<cstdio>
#include<cstring>
#include<queue>
#include<cstdlib>
#include<algorithm>
#include<vector>
#include<cmath>
using namespace std;
typedef long long LL;
const int N=4e3+5;
const int INF=0x3f3f3f3f;
struct Edge{int v,next;double w;bool operator<(const Edge &e)const{return w>e.w;}
}edge[N*N*2];
int head[N],tot,n;
double d[N];
void add(int u,int v,double w){edge[tot].v=v;edge[tot].w=w;edge[tot].next=head[u];head[u]=tot++;
}
priority_queue<Edge>q;
bool vis[N];
double dij(int s,int t){for(int i=1;i<=n;++i)d[i]=INF,vis[i]=0;d[s]=0,q.push(Edge{s,0,0});while(!q.empty()){while(!q.empty()&&vis[q.top().v])q.pop();if(q.empty())break;int u=q.top().v;q.pop();vis[u]=1;for(int i=head[u];~i;i=edge[i].next){int v=edge[i].v;if(!vis[v]&&d[v]>d[u]+edge[i].w){d[v]=d[u]+edge[i].w;q.push(Edge{v,0,d[v]});}} }return d[t];
}
struct Point{int x,y;
}p[N];
double dis(int i,int j){return sqrt((p[i].x-p[j].x)*(p[i].x-p[j].x)+(p[i].y-p[j].y)*(p[i].y-p[j].y));
}
int main(){ memset(head,-1,sizeof(head)),tot=0;scanf("%d%d%d%d",&p[1].x,&p[1].y,&p[2].x,&p[2].y);n=3;bool flag=0;while(~scanf("%d%d",&p[n].x,&p[n].y)){if(p[n].x==-1&&p[n].y==-1){flag=0;continue;}if(flag){double tmp=dis(n,n-1)/40000.0;add(n,n-1,tmp),add(n-1,n,tmp);}flag=1;++n;}--n;for(int i=1;i<=n;++i)for(int j=1;j<=n;++j){if(i==j)continue;double tmp=dis(i,j)/10000.0;add(i,j,tmp),add(j,i,tmp);}printf("%d\n",(int)(dij(1,2)*60.0+0.5));return 0;
}

View Code

转载于:https://www.cnblogs.com/shuguangzw/p/5320733.html

POJ 2502 Subway dij相关推荐

  1. poj 2502 Subway md自闭了,之后再看吧f**k

    Floyed https://blog.csdn.net/u013480600/article/details/37875601 自己写的Floyed这个WA了,暂时还不知道为什么 //Floyed写 ...

  2. POJ ~ 2502 ~ Subway (Dijkstra + 建图)

    题意:你要从家去学校,先输入你家和学校的坐标.有一些地铁站线,每一条线上有一些站点,每一条线以一对-1,-1结束,地铁站的输入以EOF结束.坐标单位为米,你行走速度为10km/h,地铁速度为40km/ ...

  3. L - Subway POJ - 2502

    L - Subway POJ - 2502 题意: 从 家出发步行与坐 subway 交替进行,问最小的时间花费,最终四舍五入答案为 整数 存图难 四舍五入: double b int a = b + ...

  4. POJ 1635 Subway tree systems 树的Hash 或 树的最小表示法

    题目大意: 就是给出从树的中心开始的dfs序, 根据两个dfs序列判断两棵树是否同构 大致思路: 首先根据dfs一直是从树的中心开始的, 所以不用担心中心的问题, 用树的Hash的话当然可以做 另外一 ...

  5. Kuangbin最短路专题

    菜鸡第一篇博客 整理一下kuangbin的最短路专题(主要是ide出问题了没事干 目录 一.POJ 2387  Till the Cows Home SPFA板子 二.POJ 2253 Frogger ...

  6. 图论刷水题记录(二)(最短路-----SPFA算法)

    继第一篇的后续,又来刷水题了,写的是SPFA算法,这个算法的复杂度比较玄学,感觉能不用就不用了,但是他的好处就是可以判断负圈. 3月26日: 1.POJ 1847 Tram 题意:在一个交通网络上有N ...

  7. kuangbin带你飞专题合集

    题目列表 [kuangbin带你飞]专题一 简单搜索 [kuangbin带你飞]专题二 搜索进阶 [kuangbin带你飞]专题三 Dancing Links [kuangbin带你飞]专题四 最短路 ...

  8. 一步一步深入理解Dijkstra算法

    先简单介绍一下最短路径: 最短路径是啥?就是一个带边值的图中从某一个顶点到另外一个顶点的最短路径. 官方定义:对于内网图而言,最短路径是指两顶点之间经过的边上权值之和最小的路径. 并且我们称路径上的第 ...

  9. 算法学习经典例题整理

    陆续会对本篇博客进行更新! 搜索:https://vjudge.net/contest/292597 区间DP:https://vjudge.net/contest/293892 树状背包:https ...

  10. 用MATLAB做周期三角波的傅里叶级数,Matlab 周期方波信号傅里叶级数展开

    方波信号为: 傅里叶级数展开为: 程序运行结果: 程序代码: clear x = -6:0.01:6; T = 4; f = x; for N = 1:length(f) temp = rem(abs ...

最新文章

  1. 第十一周总结CoreIDRAW
  2. linux 如何查看服务和端口
  3. java设计模式之设计原则⑤迪米特原则
  4. 利用MySQL语句批量替换指定wordpress文章中的图片路径
  5. 图的知识点总结-数据结构
  6. Python爬虫基础(三)urllib2库的高级使用
  7. Hadoop中core-site.xml文件不允许有匹配“[xX] [mM] [lL]”的处理指令目标。
  8. windows下namp的基本操作命令
  9. android 缓存文件目录在哪个文件夹,哔哩哔哩缓存在哪个文件夹 具体操作步骤
  10. Python实现快速查找文件
  11. 800万像素摄像头,评估可以看到多远的红绿灯【1】?
  12. kwgt 歌词_跪求完整版伪物语OP2白金迪斯科的中文,日文,罗马音三合一的歌词!!!...
  13. smbd cpu高 linux,Samba smbd vfs.c访问限制绕过漏洞(CVE-2015-5252)
  14. mysql注入实验报告_网络安全实验报告 第二章
  15. 网游服务器维护费巨大,全网首例!玩家氪金金额巨大导致服务器瘫痪,官方单独安排客服!...
  16. html5大全,常用html5标签大全 - 小俊学习网
  17. eSIM的基本原理、相关标准、产业和应用
  18. 六自由度机器人(机械臂)运动学建模及运动规划系列(二)——运动学分析
  19. 虚幻引擎图文笔记:项目升级到虚幻5(UE5.0.1)以后出现奇怪阴影问题的解决办法
  20. 学不会编程?试试我的方法

热门文章

  1. 使用 HTML5 webSocket API实现即时通讯的功能
  2. Windows计划任务执行时不显示窗口的问题
  3. 记录一枚验证URL的js正则表达式
  4. MySQL 判断表中是否存在某条数据
  5. C++ 函数需要有返回值,但非全分支return(RVO)
  6. 责任链模式 php,每天一个设计模式之(9)-----责任链模式
  7. ora创建物化视图 11g版本
  8. SQL:mysql将datetime类型数据格式化
  9. 07. Django基础:Django的设计模式及模板层
  10. Python:详解format格式化函数