Current Server Time: 2013-09-12 23:58:47

Frogger

Time Limit: 1000ms
Memory Limit: 65535KB

64-bit integer IO format: %lld      Java class name: Main
一只叫Freddy的青蛙蹲坐在湖中的一块石头上。突然他发现一只叫Fiona的青蛙在湖中的另一块石头上。Freddy想要跟Fiona约会,但由于湖水太脏,他不想游泳过去而是跳过去找Fiona。
很不幸,Fiona所在的石头距离他有点远,甚至超出了他的跳跃能力。然而Freddy注意到湖中还有一些其他的石头。这些石头也许会将这个很长的跳跃距离化成若干个短的跳跃距离。
我们定义“青蛙距离”为Freddy跳到Fiona那里所需要的若干次跳跃中最长的那一次。现在给你Freddy,Fiona,以及湖中其他石头的坐标,让你求出最短的“青蛙距离”。

Input

输入有可能是多组测试数据。每组数据的第一行有一个整数n(2<=n<=200),表示湖中一共有多少块石头。接下来的n行,每一行有两个整数xi,yi(0 <= xi,yi <= 1000),表示第i块石头的坐标。第1块石头的坐标是Freddy所在的位置,第二块石头的坐标是Fiona所在的位置,其他的石头上都没有青蛙。当输入n=0的时候,程序结束。

Output

对于每一组测试数据,先输出一行"Scenario #x",然后在下一行输出"Frog Distance = y"。其中x表示当前是第几组测试数据,y为该组数据的最小“青蛙距离”。每两组测试数据之间输出一个空行。

Sample Input

20 03 4317 419 418 50

Sample Output

Scenario #1Frog Distance = 5.000Scenario #2Frog Distance = 1.414

Source

第七届北京师范大学程序设计竞赛热身赛第一场

Tags ( Click to see )

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<queue>
 4 #include<cstdio>
 5 #include<cstdlib>
 6 #include<cstring>
 7 #include<cmath>
 8 #include<ctype.h>
 9 using namespace std;
10 #define sr(x) scanf("%d",&x)
11 #define sc(x) printf("%d",x)
12 #define hh printf("\n")
13 struct PP
14 {
15     int x,y;
16 }zb[201];
17 int juli(PP a,PP b)
18 {
19     return (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y);
20 }
21 int main()
22 {
23     int n,k=1;
24     while(sr(n)&&n!=0)
25     {
26         double ll;
27         int i,j,l[201],jl[201],zd=-1;
28         for(i=0;i<n;i++){sr(zb[i].x);sr(zb[i].y);}
29         memset(l,0,sizeof(l));
30         l[0]=1;
31         for(i=0;i<n;i++)jl[i]=juli(zb[0],zb[i]);
32         for(i=0;i<n-1;i++)
33         {
34             int da=999999999,s=0;
35             for(j=0;j<n;j++)if(l[j]==0&&da>jl[j]){s=j;da=jl[j];}
36             l[s]=1;
37             if(zd<da)zd=da;
38             if(s==1)break;
39             for(j=0;j<n;j++)if(l[j]==0&&juli(zb[s],zb[j])<jl[j])jl[j]=juli(zb[s],zb[j]);
40         }
41         ll=sqrt(zd);
42         if(k!=1)hh;
43         printf("Scenario #%d\n",k++);
44         printf("Frog Distance = %.3lf\n",ll);
45     }
46     return 0;
47 }

转载于:https://www.cnblogs.com/lveternal/p/3413489.html

最小树——迪杰斯特拉算法相关推荐

  1. 【数据结构】图的应用(普利姆算法、克鲁斯卡尔算法、迪杰斯特拉算法、弗洛伊德算法、拓扑排序)

    最小生成树 什么是最小生成树 是一棵树 - 无回路 - |V|个顶点一定有|V|-1条边 是生成树 - 包含全部顶点 - |V|-1条边全在图里 贪心算法 什么是"贪":每一步都要 ...

  2. 迪杰斯特拉算法(C语言实现)

    迪杰斯特拉算法(C语言实现) 如上图,求以a为源点到个顶点的最短路劲. #include "stdio.h" #include "stdlib.h" //用一个 ...

  3. C++迪杰斯特拉算法求最短路径

    一:算法历史 迪杰斯特拉算法是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法.是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题.迪杰斯特拉算法主要特点是以 ...

  4. 迪杰斯特拉算法——PAT 1003

    本文主要是将我对于我对于迪杰斯特拉算法的理解写出来,同时通过例题来希望能够加深对于算法的理解,其中有错误的地方希望大家指正. 迪杰斯特拉算法 我将这个算法理解成一个局部到整体的算法,这个方法确实越研究 ...

  5. 单源最短路径-Dijkstra(迪杰斯特拉算法)

    迪杰斯特拉算法时间复杂度为O(n^2),其中n为顶点个数. 该算法用于求单源最短路径.并且图中的边不允许带负权值. #include <iostream> using namespace ...

  6. JavaScript实现dijkstra迪杰斯特拉算法(附完整源码)

    JavaScript实现dijkstra迪杰斯特拉算法 PriorityQueue完整源代码 MinHeap.js完整源代码 Heap.js完整源代码 Comparator.js完整源代码 dijks ...

  7. C++实现Dijkstra(迪杰斯特拉)算法(附完整源码)

    C++Dijkstra迪杰斯特拉算法的实现 C++Dijkstra(迪杰斯特拉)算法的完整源码(定义,实现,main函数测试) C++Dijkstra(迪杰斯特拉)算法的完整源码(定义,实现,main ...

  8. C语言实现Dijkstra(迪杰斯特拉)算法(附完整源码)

    Dijkstra迪杰斯特拉 Graph结构体定义 迪杰斯特拉算法完整源码(定义,实现,main函数测试) Graph结构体定义 struct Graph {int vertexNum;int **ed ...

  9. 狄斯奎诺算法 c语言,图的邻接表实现迪杰斯特拉算法(C语言).doc

    图的邻接表实现迪杰斯特拉算法(C语言) /*迪杰斯特拉算法(狄斯奎诺算法)解决的是从源点到其它所有顶点的最短路径问题*/ //算法实现: #include #include #define MAX 2 ...

  10. java迪杰斯特拉算法介绍_178-迪杰斯特拉(Dijkstra)算法基本介绍

    2.网上数据结构和算法的课程不少,但存在两个问题: 1)授课方式单一,大多是照着代码念一遍,数据结构和算法本身就比较难理解,对基础好的学员来说,还好一点,对基础不好的学生来说,基本上就是听天书了 2) ...

最新文章

  1. 挨踢部落直播课堂第一期:起航2017——拥抱大数据
  2. 半圆阴影_圆中阴影部分面积求法的常用方法
  3. Build boost 1.66.0 with c++11
  4. 只会linux和sql能维护mes系统么,MES系统软件架构介绍
  5. ecshop在首页调用dedecms文章
  6. assertj断言异常_编写自定义的AssertJ断言
  7. 树莓派进阶之路 (029) - 语音识别模块 LD3320(原创)
  8. 【计算机网络】ACL工作原理及标准
  9. SpringBoot实战(二):SpringMvc接收xml请求
  10. 计算机语言的比较英文论文,科学网—撰写高质量英文科技论文的心态、布局、程序和方法 - 岳中琦的博文...
  11. Logistics人口模型
  12. 怎么清理计算机磁盘空间,电脑磁盘空间不足怎么清理
  13. python word文档合并_[Python 学习笔记]用Python进行docx文档合并
  14. 普通键盘Windows上虚拟Cherry机械键盘效果的方法
  15. win10双显卡开机黑屏时间长
  16. 洛克耶是如何发现氦元素的?
  17. Linux 时间一致性环境NTP/Chrony服务器部署配置
  18. 集成七牛云储存-上传图片Demo
  19. 3.2 回溯法—N皇后问题
  20. Python语言程序设计 习题5

热门文章

  1. php 多选按钮,单选和多选按钮如何给图片加样式
  2. 企业信用评分卡模型实战(python,附代码)
  3. java符号用语_java常用语
  4. Alamofire拦截请求AOP,URLProtocol
  5. 猴子都能懂的数据库范式详解
  6. 利用Python连接MySQL将表单转化为DataFrame
  7. BERT4Rec:知道用户的播放(购买、点击、...)序列 item1, item2, item3,预测下一个播放的item问题。
  8. python的字典合并有相同的_将列表中的重复项合并到python字典中
  9. idea的黄色感叹号之Spring Configuration Check (Please configura/setup Spring facet for modules)
  10. 一次性掌握计算机中常见的六类指令