zoukankan      html  css  js  c++  java
  • poj 2253 Frogger(最短路 floyd)

    题目:http://poj.org/problem?id=2253

    题意:给出两只青蛙的坐标A、B,和其他的n-2个坐标,任一两个坐标点间都是双向连通的。显然从A到B存在至少一条的通路,每一条通路的元素都是这条通路中前后两个点的距离,这些距离中又有一个最大距离。

    现在要求求出所有通路的最大距离,并把这些最大距离作比较,把最小的一个最大距离作为青蛙的最小跳远距离。

     1 #include <iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<cstdlib>
     5 #include<stack>
     6 #include<queue>
     7 #include<algorithm>
     8 #include<cmath>
     9 #include<iomanip>
    10 using namespace std;
    11 
    12 double map[250][250];
    13 int n;
    14 void floyd()
    15 {
    16     int i,j,k;
    17     for(k=0; k<n; k++)
    18         for(i=0; i<n-1; i++)
    19             for(j=i+1; j<n; j++)
    20                 if(map[i][k]<map[i][j] && map[k][j]<map[i][j])  //map表示从i到j 上各个通路中最大的一条当中的 最小的的
    21                 {
    22                     if(map[i][k]<map[k][j])
    23                         map[i][j]=map[j][i]=map[k][j];
    24                     else
    25                         map[i][j]=map[j][i]=map[i][k];
    26                 }
    27 }
    28 
    29 int main()
    30 {
    31     int x=1,i,j;
    32     double a[250],b[250];
    33     while(~scanf("%d", &n) && n)
    34     {
    35         memset(map,0,sizeof(map));
    36         for(i=0; i<n; i++)
    37             scanf("%lf%lf",&a[i],&b[i]);
    38 
    39         for(i = 0; i < n; i++)
    40             for(j = i+1; j < n; j++)
    41             {
    42                 map[j][i]= sqrt((a[i]-a[j])*(a[i]-a[j])+(b[i]-b[j])*(b[i]-b[j]));
    43                 map[i][j] = map[j][i];
    44             }
    45 
    46         floyd();
    47         cout<<"Scenario #"<<x++<<endl;
    48         cout<<fixed<<setprecision(3)<<"Frog Distance = "<<map[0][1]<<endl<<endl;
    49     }
    50     return 0;
    51 }

     ……呃,这个方法还是不大能理解呀

  • 相关阅读:
    职场“潜”规则:心法和技法
    JVM参数配置
    python-编码
    pyserial库-串口通讯模块
    Arduino-舵机
    Arduino-中断
    Arduino-一些函数
    Arduino-位操作
    Nginx (一)Windows下编译Nginx源码以及安装 nginx for windows方法步骤
    MSYS2环境搭建
  • 原文地址:https://www.cnblogs.com/bfshm/p/3249041.html
Copyright © 2011-2022 走看看