POJ培训计划2253_Frogger(最短/floyd)

POJ培训计划2253_Frogger(最短/floyd)

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

解决报告

意甲冠军:

乞讨0至1所有最大的道路值的最小数量。

思维:

floyd。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#define inf 0x3f3f3f3f
using namespace std;
int n,m,q;
double mmap[210][210];
struct node {
    double x,y;
} p[210];
double dis(node p1,node p2) {
    return sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
}
void floyd() {
    for(int k=0; k<n; k++)
        for(int i=0; i<n; i++)
            for(int j=0; j<n; j++)
                mmap[i][j]=min(mmap[i][j],max(mmap[i][k],mmap[k][j]));
}
int main() {
    int i,j,u,v,w,k=1;
    while(~scanf("%d",&n)) {
        if(!n)break;
        for(i=0; i<n; i++) {
            for(j=0; j<n; j++)
                mmap[i][j]=(double)inf;
            mmap[i][i]=0;
        }
        for(i=0; i<n; i++) {
            scanf("%lf%lf",&p[i].x,&p[i].y);
        }
        for(i=0; i<n; i++) {
            for(j=0; j<n; j++) {
                mmap[i][j]=dis(p[i],p[j]);
            }
        }
        floyd();
        printf("Scenario #%d\n",k++);
        printf("Frog Distance = %.3lf\n",mmap[0][1]);
        printf("\n");
    }
    return 0;
}

Frogger
Time Limit: 1000MS   Memory Limit: 65536K
Total Submissions: 25958   Accepted: 8431

Description

Freddy Frog is sitting on a stone in the middle of a lake. Suddenly he notices Fiona Frog who is sitting on another stone. He plans to visit her, but since the water is dirty and full of tourists’ sunscreen, he wants to avoid swimming and instead reach her by jumping. 

Unfortunately Fiona’s stone is out of his jump range. Therefore Freddy considers to use other stones as intermediate stops and reach her by a sequence of several small jumps. 

To execute a given sequence of jumps, a frog’s jump range obviously must be at least as long as the longest jump occuring in the sequence. 

The frog distance (humans also call it minimax distance) between two stones therefore is defined as the minimum necessary jump range over all possible paths between the two stones. 

You are given the coordinates of Freddy’s stone, Fiona’s stone and all other stones in the lake. Your job is to compute the frog distance between Freddy’s and Fiona’s stone. 

Input

The input will contain one or more test cases. The first line of each test case will contain the number of stones n (2<=n<=200). The next n lines each contain two integers xi,yi (0 <= xi,yi <= 1000) representing the coordinates of stone #i. Stone #1 is Freddy’s stone, stone #2 is Fiona’s stone, the other n-2 stones are unoccupied. There’s a blank line following each test case. Input is terminated by a value of zero (0) for n.

Output

For each test case, print a line saying “Scenario #x” and a line saying “Frog Distance = y” where x is replaced by the test case number (they are numbered from 1) and y is replaced by the appropriate real number, printed to three decimals. Put a blank line after each test case, even after the last one.

Sample Input

2
0 0
3 4

3
17 4
19 4
18 5

0

Sample Output

Scenario #1
Frog Distance = 5.000

Scenario #2
Frog Distance = 1.414

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116705.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 解决iframe嵌套页面问题「建议收藏」

    解决iframe嵌套页面问题「建议收藏」/*如果页面嵌套,跳出嵌套*/if(window.top!=window.self){top.location=this.location;}

    2022年6月26日
    18
  • 对asterisk的一些研究

    对asterisk的一些研究

    2021年5月7日
    170
  • C#拆分器控件Splitcontainer

    C#拆分器控件Splitcontainer拆分器控件Splitcontainer拆分器控件Splitcontainer,是一个含有Splitter拆分条的容器,它包含两个面板容器Panel1,Panel2,可以移动拆分条,对面板大小进行控制!控件学习示例程序!属性介绍;//拆分条的是否启用禁用boolIsSplitterFixed{get;set;} bool类型,true:不能调节拆分条;false

    2022年7月18日
    14
  • python2 nonlocal_python unboundlocalerror

    python2 nonlocal_python unboundlocalerror在廖雪峰的官网上看到一个很有意思题目。关于闭包的,有兴趣的朋友可以看一下这里,做一下这个题目,当然需要一点闭包的知识。下面我简述一下:利用闭包返回一个计数器函数,每次调用它返回递增整数。#修改下面这个函数defcreateCounter():defcounter():passreturncounter#测试:counterA=createCounter()print(counter…

    2022年9月6日
    3
  • 想要复制网页的文字网页不让复制_如何复制文字

    想要复制网页的文字网页不让复制_如何复制文字作者:iamlaosong当我们需要复制网页上的内容时,往往会碰到不能复制的情况,面对这个问题,不同的情况有不同的应对方法,比如禁止JavaScript运行,查看源代码,另存为网页文件等。这些方法也可以用,现在有个更通用的办法是QQ屏幕截图所带的功能,不管网页用的什么技术,能看见就可以复制,特别适合不太懂技术的人。要用QQ截图功能,QQ肯定是要登录的,然后用浏览器打开需要复制文字的网页,按QQ屏幕截图快捷键Ctrl+Alt+A选择需要复制文字的区域,在弹出的菜单中点击“翻译”或者“屏幕识图”两个按钮

    2022年10月12日
    0
  • cholesky分解_java toarray方法

    cholesky分解_java toarray方法接着LU分解继续往下,就会发展出很多相关但是并不完全一样的矩阵分解,最后对于对称正定矩阵,我们则可以给出非常有用的cholesky分解。这些分解的来源就在于矩阵本身存在的特殊的结构。对于矩阵A,如果没有任何的特殊结构,那么可以给出A=L*U分解,其中L是下三角矩阵且对角线全部为1,U是上三角矩阵但是对角线的值任意,将U正规化成对角线为1的矩阵,产生分解A=L*D*U,D为对角矩阵。如果A为对…

    2022年10月24日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号