zoukankan      html  css  js  c++  java
  • POJ 2253 Frogger(Floyd)

    ( ̄▽ ̄)"

    //求每条通路中的最大跳跃距离(即最大的两点间距)中的最小值(所谓minimax),
    //即为frog distance,
    //且青蛙跳到任意点,
    //因此用的是稍作改变的folyd算法,
    //folyd算法用于求解任意两点之间的最短路;
    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<algorithm>
    using namespace std;
    double lowcost[210][210];
    
    struct xy
    {
        int x,y;
    }s[210];
    
    void floyd(int n)
    {
        for(int k=1;k<=n;k++)
            for(int i=1;i<=n;i++)
                for(int j=1;j<=n;j++)
                    if(lowcost[i][j]>lowcost[i][k]&&lowcost[i][j]>lowcost[k][j])
                        lowcost[i][j]=lowcost[j][i]=max(lowcost[i][k],lowcost[k][j]);
    }
    
    double dis(int a,int b)
    {
        return sqrt((double)(s[a].x-s[b].x)*(s[a].x-s[b].x)+(double)(s[a].y-s[b].y)*(s[a].y-s[b].y));
    }
    
    int main()
    {
        int n,Case=0;
        while(scanf("%d",&n)&&n!=0)
        {
            Case++;
            for(int i=1;i<=n;i++)
                for(int j=1;j<=n;j++)
                    lowcost[i][j]=10000000;
            for(int i=1;i<=n;i++)
                scanf("%d%d",&s[i].x,&s[i].y);
            for(int i=1;i<=n;i++)
                for(int j=1;j<=n;j++)
                    lowcost[i][j]=lowcost[j][i]=dis(i,j);
            floyd(n);
            printf("Scenario #%d
    Frog Distance = %.3lf
    
    ",Case,lowcost[1][2]);
        }
        return 0;
    }
  • 相关阅读:
    InSAR 大气校正数据 GACOS
    java通用的方法整理
    Jquery实现select左右栏的添加移除
    kendo ui之grid列表
    kendo-ui学习笔记(一)
    kendo-ui学习笔记——题记
    chrome driver驱动地址
    适合引入缓存的业务及影响
    个人测试方法论202108
    Redis缓存
  • 原文地址:https://www.cnblogs.com/atmacmer/p/5196881.html
Copyright © 2011-2022 走看看