• 暑假集训(3)第四弹 -----Frogger(Poj2253)


    题意梗概:青蛙王子最近喜欢上了另一只经常坐在荷叶上的青蛙公主。不过这件事不小心走漏了风声,被某fff团团员知

    道了,在青蛙王子准备倾述心意的那一天,fff团团员向湖泊中注入大量的充满诅咒力量的溶液。这种溶液最初练成需整

    整十一年的时间,在每一个剁手节,都要向其中融入珍贵魔法材料“辛格多格的哀怨“。有“一碰到就会告白失败的”功用。

    不过幸运的是,青蛙王子居然很快发现到i这一点,所以他准备通过某种神秘仪式,来驱散这个诅咒。但是这个仪式还需

    要一个关键数来触发,那就是从青蛙王子所在荷叶跳到青蛙公主的,每一条路径中的最大跳跃步数的集合中的最小数。

    有了它,”信仰之跃“仪式就可以开始发挥作用,破除”辛格多格的哀怨“的魔法力量。

    为了保护真善美,为了爱与和平,你决定帮助青蛙王子得到那个最小数。

    问题分析:我觉得这个星期做题都快做成懵逼了,好多种乱七八遭的算法,碰到题目都没怎么思考,就开始”套模板“,这

    个题目,我套啊套,也没整出个名堂,最后还是百度了,用floyd算法或者prim什么的都行,然而我还是不会做,这真的很

    难受。唉.....

     1 #include <cstdio>
     2 #include <cmath>
     3 int stone[204][204];
     4 int x[204],y[204];
     5 int n,cas=0;
     6 void mbegin()
     7 {
     8     int i;
     9     for(i = 0;i < n;i++)
    10         scanf("%d%d",&x[i],&y[i]);
    11 }
    12 int max(int va,int vb)
    13 {
    14     return va > vb ? va : vb;
    15 }
    16 int square(int x1,int y1,int x2,int y2)
    17 {
    18     return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
    19 }
    20 void init()
    21 {
    22     int i,j;
    23     for(i = 0;i < n;i++)
    24       for(j = 0;j < n;j++)
    25         stone[i][j] =stone[j][i] = square(x[i],y[i],x[j],y[j]);
    26 
    27 }
    28 double Floyd()
    29 {
    30     int i,j,k;
    31     init();
    32     for(k = 0;k < n;k++)
    33       for(i = 0;i < n;i++)
    34         for(j = 0;j < n;j++)
    35           {
    36             if(stone[i][j] > stone[i][k] && stone[i][j] > stone[k][j])
    37                     stone[i][j] = max(stone[i][k],stone[k][j]);
    38             stone[j][i] = stone[i][j];
    39           }
    40     return sqrt(double(stone[0][1]));
    41 }
    42 int main(void)
    43 {
    44     while(scanf("%d",&n) && n)
    45     {
    46         mbegin();
    47         printf("Scenario #%d
    Frog Distance = %.3lf
    
    ",++cas,Floyd());
    48     }
    49     return 0;
    50 
    51 }
    View Code
  • 相关阅读:
    Python基础----内置函数补充、匿名函数、递归函数
    为arm-linux开发板挂载基于nfs的根文件系统
    vsftp上传553 Could not create file错误解决
    在itop4412移植linux4.14和设备树遇到的问题及解决
    itop4412uboot中支持usbhub
    上下界网络流
    lca(最近公共祖先(在线)) 倍增法详解
    lca(最近公共祖先(离线))
    最小费用最大流
    spfa模板+讲解
  • 原文地址:https://www.cnblogs.com/huas-zlw/p/5712693.html
Copyright © 2020-2023  润新知