• 暑假集训(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
  • 相关阅读:
    17111 Football team
    Train Problem I (HDU 100题纪念)
    迷宫问题
    图形点扫描
    看病要排队(stl)
    水果
    Prime Ring Problem
    N皇后问题
    2^x mod n = 1
    Queuing
  • 原文地址:https://www.cnblogs.com/huas-zlw/p/5712693.html
Copyright © 2020-2023  润新知