[kuangbin带你飞]专题四 最短路练习 B POJ 2253
来源:互联网 发布:linux 安装服务 编辑:程序博客网 时间:2024/06/02 08:31
题目地址:https://vjudge.net/contest/66569#problem/B
思路:模板题,稍微修改一下松弛条件即可
AC代码:
#include<iostream>#include<cstdio>#include<cstring>#include<queue>#include<vector>#include<cmath>using namespace std;const int maxn=200+5;vector<pair<int,double> >E[maxn];struct point{ int x,y;}p[maxn];int n;double d[maxn];double cal(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(){ int num=1; while(scanf("%d",&n) && n) { for(int i=0;i<=n;i++) { d[i]=1e9; E[i].clear(); p[i].x=0,p[i].y=0; } for(int i=1;i<=n;i++) { scanf("%d%d",&p[i].x,&p[i].y); for(int j=i-1;j>=1;j--) { double temp=cal(i,j); E[i].push_back(make_pair(j,temp)); E[j].push_back(make_pair(i,temp)); } } int s=1,e=2; d[s]=0; priority_queue<pair<double,int> >q; q.push(make_pair(-d[s],s)); while(!q.empty()) { int now=q.top().second; q.pop(); for(int i=0;i<E[now].size();i++) { int v=E[now][i].first; if(d[v]>E[now][i].second && d[v]>d[now]) { d[v]=max(E[now][i].second,d[now]); q.push(make_pair(-d[v],v)); } } } printf("Scenario #%d\n",num++); printf("Frog Distance = %.3f\n\n",d[2]); }}
0 0
- [kuangbin带你飞]专题四 最短路练习 B POJ 2253
- [kuangbin带你飞]专题四 最短路练习 B
- [kuangbin带你飞]专题四 最短路练习 B
- [kuangbin带你飞]专题四 最短路练习
- [kuangbin带你飞]专题四 最短路练习
- [kuangbin带你飞]专题四 最短路练习 A
- [kuangbin带你飞]专题四 最短路练习 C
- [kuangbin带你飞]专题四 最短路练习D
- [kuangbin带你飞]专题四 最短路练习-E
- [kuangbin带你飞]专题四 最短路练习 -F
- [kuangbin带你飞]专题四 最短路练习-G
- [kuangbin带你飞]专题四 最短路练习 MN
- [kuangbin带你飞]专题四 最短路练习 P
- [kuangbin带你飞]专题四 最短路练习 R
- [kuangbin带你飞]专题四 最短路练习 A
- [kuangbin带你飞]专题四 最短路练习 A POJ 2387
- [kuangbin带你飞]专题四 最短路练习 C POJ 1797
- [kuangbin带你飞]专题四 最短路练习 D POJ 3268
- Slidingmenu侧滑菜单
- Android图像格式类及图像转换方法
- Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) B
- 控件背景为四周虚线
- lamp之源码包安装apache
- [kuangbin带你飞]专题四 最短路练习 B POJ 2253
- 寻路算法 Astar A星算法
- 在Unity3D中使用uGUI实现3D旋转特效
- centos6.7安装kvm
- 监听通知栏,back,home键
- css中BFC格式化上下文
- 3D Model & 图片类网站
- [kuangbin带你飞]专题四 最短路练习 C POJ 1797
- php的setcookie使用详解