POJ 2502 Subway dij
这个题的输入输出注意一下就好
#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相关推荐
- poj 2502 Subway md自闭了,之后再看吧f**k
Floyed https://blog.csdn.net/u013480600/article/details/37875601 自己写的Floyed这个WA了,暂时还不知道为什么 //Floyed写 ...
- POJ ~ 2502 ~ Subway (Dijkstra + 建图)
题意:你要从家去学校,先输入你家和学校的坐标.有一些地铁站线,每一条线上有一些站点,每一条线以一对-1,-1结束,地铁站的输入以EOF结束.坐标单位为米,你行走速度为10km/h,地铁速度为40km/ ...
- L - Subway POJ - 2502
L - Subway POJ - 2502 题意: 从 家出发步行与坐 subway 交替进行,问最小的时间花费,最终四舍五入答案为 整数 存图难 四舍五入: double b int a = b + ...
- POJ 1635 Subway tree systems 树的Hash 或 树的最小表示法
题目大意: 就是给出从树的中心开始的dfs序, 根据两个dfs序列判断两棵树是否同构 大致思路: 首先根据dfs一直是从树的中心开始的, 所以不用担心中心的问题, 用树的Hash的话当然可以做 另外一 ...
- Kuangbin最短路专题
菜鸡第一篇博客 整理一下kuangbin的最短路专题(主要是ide出问题了没事干 目录 一.POJ 2387 Till the Cows Home SPFA板子 二.POJ 2253 Frogger ...
- 图论刷水题记录(二)(最短路-----SPFA算法)
继第一篇的后续,又来刷水题了,写的是SPFA算法,这个算法的复杂度比较玄学,感觉能不用就不用了,但是他的好处就是可以判断负圈. 3月26日: 1.POJ 1847 Tram 题意:在一个交通网络上有N ...
- kuangbin带你飞专题合集
题目列表 [kuangbin带你飞]专题一 简单搜索 [kuangbin带你飞]专题二 搜索进阶 [kuangbin带你飞]专题三 Dancing Links [kuangbin带你飞]专题四 最短路 ...
- 一步一步深入理解Dijkstra算法
先简单介绍一下最短路径: 最短路径是啥?就是一个带边值的图中从某一个顶点到另外一个顶点的最短路径. 官方定义:对于内网图而言,最短路径是指两顶点之间经过的边上权值之和最小的路径. 并且我们称路径上的第 ...
- 算法学习经典例题整理
陆续会对本篇博客进行更新! 搜索:https://vjudge.net/contest/292597 区间DP:https://vjudge.net/contest/293892 树状背包:https ...
- 用MATLAB做周期三角波的傅里叶级数,Matlab 周期方波信号傅里叶级数展开
方波信号为: 傅里叶级数展开为: 程序运行结果: 程序代码: clear x = -6:0.01:6; T = 4; f = x; for N = 1:length(f) temp = rem(abs ...
最新文章
- 第十一周总结CoreIDRAW
- linux 如何查看服务和端口
- java设计模式之设计原则⑤迪米特原则
- 利用MySQL语句批量替换指定wordpress文章中的图片路径
- 图的知识点总结-数据结构
- Python爬虫基础(三)urllib2库的高级使用
- Hadoop中core-site.xml文件不允许有匹配“[xX] [mM] [lL]”的处理指令目标。
- windows下namp的基本操作命令
- android 缓存文件目录在哪个文件夹,哔哩哔哩缓存在哪个文件夹 具体操作步骤
- Python实现快速查找文件
- 800万像素摄像头,评估可以看到多远的红绿灯【1】?
- kwgt 歌词_跪求完整版伪物语OP2白金迪斯科的中文,日文,罗马音三合一的歌词!!!...
- smbd cpu高 linux,Samba smbd vfs.c访问限制绕过漏洞(CVE-2015-5252)
- mysql注入实验报告_网络安全实验报告 第二章
- 网游服务器维护费巨大,全网首例!玩家氪金金额巨大导致服务器瘫痪,官方单独安排客服!...
- html5大全,常用html5标签大全 - 小俊学习网
- eSIM的基本原理、相关标准、产业和应用
- 六自由度机器人(机械臂)运动学建模及运动规划系列(二)——运动学分析
- 虚幻引擎图文笔记:项目升级到虚幻5(UE5.0.1)以后出现奇怪阴影问题的解决办法
- 学不会编程?试试我的方法