美文网首页
2253 Frogger

2253 Frogger

作者: 徐振杰 | 来源:发表于2019-07-10 23:37 被阅读0次
#include<iostream>
#include<cstring>
#include<algorithm>
#include<math.h>
#include<stdio.h>
using namespace std;
typedef pair<int,int> pii;
int T;
const int N =220;
pii vec[N];
bool st[N];
double w[N][N],dst[N];

double dist(pii a,pii b){
    return sqrt((double)((b.second-a.second)*(b.second-a.second)+(b.first-a.first)*(b.first-a.first)));
}

double dijkstra(){
    memset(dst,0x42,sizeof(dst));
    dst[1] = 0;
    
    for(int i=0;i<T-1;i++){
        int t = -1;
        for(int j=1;j<=T;j++){
            if(!st[j]&&(t==-1||dst[j]<dst[t])){
                t = j;
            }
        }
        for(int j =1 ;j<=T;j++){
            dst[j] = min(dst[j],max(dst[t],w[t][j]));   //题目求的是路径中的最大的边
        }
        st[t] = true;
    }
    return dst[2];
    
}

int main(){
    int cnt = 1;
    while(cin>>T,T){
        memset(st,0,sizeof(st));
        for(int i=1;i<=T;i++) cin>>vec[i].first>>vec[i].second; 
        for(int i=1;i<=T;i++){
            for(int j = i;j<=T;j++){
                double c = dist(vec[i],vec[j]);
                w[j][i] = w[i][j] = c;
                //cout<<i<<" "<<j<<" "<<c<<endl;
            }
        }
        double t = dijkstra();
        printf("Scenario #%d\n",cnt);
        printf("Frog Distance = %0.3f\n",t);
        puts("");
        cnt ++;
    }
    return 0;
}

相关文章

  • 2253 Frogger

  • poj2253 Frogger

    题目: DescriptionFreddy Frog is sitting on a stone in the m...

  • poj2253-Frogger

    题目传送:poj2253题目大意:青蛙A通过跳跃小石头的方式跳到青蛙B那里去,给出青蛙A和青蛙B以及其他小石头的坐...

  • poj -2253 Frogger 最短路算法之dijkstra

    题意:第一个点是青蛙的坐标,第二个是青蛙妹子的坐标,其他的点是石头的坐标,现在要问青蛙到青蛙妹子的地方,至少需要跳...

  • POJ-2253 Frogger(一个不能用floyd的floy

    题目大意 有两只青蛙,分别在两个石头上,青蛙GG想跳到青蛙MM所在的石头上。它有两种跳法:1、直接跳到MM的石头上...

  • CUIT MAGICIAN UNION 2017 TRAININ

    第一题 Expanding Rods POJ 1905 题解算法:二分搜索 第二题 Frogger POJ 22...

  • 最短路径(路径中的最值问题)

    Frogger最短路径中的最大边的最小值是多少? Heavy Transportation最短路径中最小边的最大值...

  • 《消失的诗意》

    文/流思湍 渴望拾起生活中更多的琐碎 就像捡起从前散落的太阳 2019.12.2 (2253/1707/1238) ​

  • 2019第三次操作

    现在的资本能买33333个ADA,或者76200个cmt,或者2253个ont,或者500个eos。 整天闻到一些...

  • 您好,2023

    姓名:孙玉生 时间:20220101 持续打卡【第2253天】 2023年,要学会认清:认清远方的终点和脚下必经的...

网友评论

      本文标题:2253 Frogger

      本文链接:https://www.haomeiwen.com/subject/pgllkctx.html