POJ2502---Subway (最短路:spfa or floyed)
来源:互联网 发布:热阻流软件 编辑:程序博客网 时间:2024/05/15 09:09
【题目来源】:https://vjudge.net/problem/POJ-2502
【题意】
给出起点终点坐标,给出多条线路,分别给出x,y坐标,以-1,-1结束一条线路,直到文件输入完全为止。
【思路】
这道题有个点,并没有说清楚:题意中说共有不足200个地铁站,但并没有说明每条线路相互之间是否存在相同的地铁站,如果把每个站都记录下来,floyed的一层循环极限就不止200了,可以是很多很多。
然后,我写了去重了,可能是写残了,一直没过。然后就直接不去重,然后floyed一把,就过了。。。
【代码】
#include<cmath>#include<cstdio>#include<queue>#include<vector>#include<cstring>#include<string>#include<iostream>#include<algorithm>#define INF 0x3f3f3f3fusing namespace std;int tot;struct node{ int x,y;} sub[250];double w[250][250];double dis(int i,int j){ return sqrt((double)(sub[i].x-sub[j].x)*(double)(sub[i].x-sub[j].x)+(double)(sub[i].y-sub[j].y)*(double)(sub[i].y-sub[j].y)*1.0);}struct cmp{ bool operator() (int &a,int &b) { return a>b; }};void floyed(){ for(int k=1; k<=tot; k++) { for(int i=1; i<=tot; i++) { for(int j=1; j<=tot; j++) { if(w[i][j]>w[i][k]+w[k][j]) w[i][j]=w[i][k]+w[k][j]; } } } printf("%d\n",(int)(w[1][2]+0.5));}int main(){ tot=2; scanf("%d%d%d%d",&sub[1].x,&sub[1].y,&sub[2].x,&sub[2].y); for(int i=1; i<=240; i++) { for(int j=1; j<=240; j++) { w[i][j]=i==j?0:INF; } } while(~scanf("%d %d",&sub[tot].x,&sub[++tot].y)) {// if(sub[tot].x==-1&&sub[tot].y==-1)// {// tot--;// break;// } while(~scanf(" %d %d",&sub[tot].x,&sub[++tot].y)) { if(sub[tot].x==-1&&sub[tot].y==-1) { tot--; break; } w[tot][tot-1]=w[tot-1][tot]=min(dis(tot,tot-1)/40000.0*60,w[tot-1][tot]); } } for(int i=1;i<=tot;i++) { for(int j=i+1;j<=tot;j++) { w[i][j]=w[j][i]=min(dis(i,j)/10000.0*60,w[i][j]); } } floyed();}
阅读全文
0 0
- POJ2502---Subway (最短路:spfa or floyed)
- POJ2502 Subway(最短路Floyed)
- 【最短路】POJ2502 SUBWAY (spfa)
- poj2502 Subway最短路
- POJ2502 Subway 最短路
- POJ2502 Subway -DIJKSTRA最短路练习
- POJ2502 subway(spfa)
- 最短路模板(floyed,spfa)
- 最短路总结(迪杰斯特拉+floyed+SPFA)
- POJ2502 subway(dijkstra以最短时间代替最短路)
- Subway(最短路)
- 最短路 (floyed)
- HDu 2544 最短路【dijkstra & floyed & SPFA 】
- 最短路之 dijkstra & floyed &SPFA
- POJ2502 Subway(最短路径)
- poj2502 最短路
- 最短路dijkstra--poj2502
- hdu2544最短路(floyed)
- Xshell连接虚拟机的Linux
- MySQL NDB集群安装配置(mysql cluster 9.4.13 installation)
- 对沉余字段的理解
- [C++ 从入门到放弃-08]C++STL之stack堆栈容器
- 李开复给程序员的七个建议
- POJ2502---Subway (最短路:spfa or floyed)
- socket通信-服务器端
- python3基础
- MySQL之 now(),curdate(),sysdate()区别
- opencv常用函数解析
- 表单验证工具类ValidationUtils
- iOS 内购支付两种模式
- 创建完web项目,发现没有web.xml
- String类型的replaceAll函数