题目信息

题目类型
练习
题目年份
2025
题目题型
编程题
关 键 词
牛的旅行(CowTours)

题目题干

牛的旅行(Cow Tours)id3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【题目描述】

农民John的农场里有很多牧区。有的路径连接一些特定的牧区。一片所有连通的牧区称为一个牧场。但是就目前而言,你能看到至少有两个牧区不连通。这样,农民John就有多个牧区了。id3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

John想在农场里添加一条路径(注意,恰好一条)。对这条路径有以下限制:id3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

一个牧场的直径就是牧场中最远的两个牧区的距离(本题中所提到的所有距离指的都是最短的距离)。考虑如下的有5个牧区的牧场,牧区用“*”表示,路径用直线表示。每一个牧区都有自己的坐标:id3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

                15,15   20,15
                  D       E
                  *-------*
                  |     _/|
                  |   _/  |
                  | _/    |
                  |/      |
         *--------*-------*
         A        B       C
         10,10   15,10   20,10

 id3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

这个牧场的直径大约是12.07106, 最远的两个牧区是A和E,它们之间的最短路径是A-B-E。id3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

这里是另一个牧场:id3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

                         *F 30,15
                         / 
                       _/  
                     _/    
                    /      
                   *------ 
                   G      H
                   25,10   30,10

 id3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

这两个牧场都在John的农场上。John将会在两个牧场中各选一个牧区,然后用一条路径连起来,使得连通后这个新的更大的牧场有最小的直径。id3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

注意,如果两条路径中途相交,我们不认为它们是连通的。只有两条路径在同一个牧区相交,我们才认为它们是连通的。id3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

输入包括牧区、它们各自的坐标,还有一个如下的对称邻接矩阵:id3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

A B C D E F G H
A 0 1 0 0 0 0 0 0
B 1 0 1 1 1 0 0 0
C 0 1 0 0 1 0 0 0
D 0 1 0 0 1 0 0 0
E 0 1 1 1 0 0 0 0
F 0 0 0 0 0 0 1 0
G 0 0 0 0 0 1 0 1
H 0 0 0 0 0 0 1 0

 id3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

输入至少包括两个不连通的牧区。id3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

请编程找出一条连接两个不同牧场的路径,使得连上这条路径后,这个更大的新牧场有最小的直径。id3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【输入】

第1行:一个整数N (1 <= N <= 150), 表示牧区数id3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

第2到N+1行:每行两个整数X,Y (0 <= X ,Y<= 100000), 表示N个牧区的坐标。注意每个 牧区的坐标都是不一样的。id3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

第N+2行到第2*N+1行:每行包括N个数字(0或1) 表示如上文描述的对称邻接矩阵。id3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【输出】

一行,包括一个实数,表示所求答案。数字保留六位小数。id3100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【输入样例】

8
10 10
15 10
20 10
15 15
20 15
30 15
25 10
30 10
01000000
10111000
01001000
01001000
01110000
00000010
00000101
00000010

【输出样例】

22.071068

答案解析

相关题目

回家(Bessie Come Home) 【题目描述】 现在是晚餐时间,而母牛们在外面分散的牧场中。 农民约翰按响了电铃,所以她们开始向谷仓走去。 你的工作是要指出哪只母牛会最先到达谷仓(在给出的
牛的旅行(Cow Tours) 【题目描述】 农民John的农场里有很多牧区。有的路径连接一些特定的牧区。一片所有连通的牧区称为一个牧场。但是就目前而言,你能看到至少有两个牧区不连通。这样,农民Joh
两只塔姆沃斯牛(The Tamworth Two) 【题目描述】 两只牛在森林里故意走丢了。农民John开始用他的专家技术追捕这两头牛。你的任务是模拟他们的行为(牛和John)。 追击在10x10的
控制公司(Controlling Companies) ​​​​​​​【题目描述】 有些公司是其他公司的部分拥有者,因为他们获得了其他公司发行的股票的一部分。例如,福特公司拥有马自达公司12%的股票。
货币系统(Money Systems) 【题目描述】 母牛们不但创建了他们自己的政府而且选择了建立了自己的货币系统。 [In their own rebellious way],他们对货币的数值感到
最长前缀(Longest Prefix) 【题目描述】 在生物学中,一些生物的结构是用包含其要素的大写字母序列来表示的。生物学家对于把长的序列分解成较短的(称之为元素的)序列很感兴趣。 如果一个集合
派对灯(Party Lamps) 【题目描述】 在IOI98的节日宴会上,我们有N(10<=N<=100)盏彩色灯,他们分别从1到N被标上号码。 这些灯都连接到四个按钮: 按钮1:当按
循环数(Runaround Numbers) 【题目描述】 循环数是那些不包括0这个数字的没有重复数字的整数 (比如说, 81362) 并且同时具有一个有趣的性质, 就像这个例子: 如果你从最左边的
集合(Subset Sums) 【题目描述】 对于从1到N(1<=n<=39)的连续整集合合,能划分成两个子集合,且保证每个集合的数字和是相等的。 举个例子,如果N=3,对于{1,2,3
序言页码(Preface Numbering) 【题目描述】 一类书的序言是以罗马数字标页码的。传统罗马数字用单个字母表示特定的数值,以下是标准数字表:    I   1     L   50  

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!
  • 温馨提示:本文属于积分文章,需要充值获得积分或升级VIP会员,也可在会员中心投稿获取。

猜你喜欢