热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

优化后的标题:校园互联新方案:10397连接教育未来

Problem E Connect the Campus Input: standard input Output: standard output Time Limit: 2 seconds Ma
Problem E

Connect the Campus

Input: standard input

Output: standard output

Time Limit: 2 seconds



Many new buildings are under construction on the campus of the University of Waterloo.

许多新的建筑物在建造在滑铁卢大学的校园。

The university has hired bricklayers, electricians, plumbers, and a computer programmer.

学校聘请了砌砖工,电工,水管工,和一个计算机程序员。

A computer programmer? Yes, you have been hired to ensure that each building is connected to every other building (directly or indirectly) through the campus network of communication cables.

一个计算机程序员?是的,你被雇佣来确保每个建筑连接到每个建筑(直接或间接)通过通讯电缆的校园网络。

We will treat each building as a point specified by an x-coordinate and a y-coordinate.

我们将把每一个建筑物作为一个点的X坐标和y坐标指定。

Each communication cable connects exactly two buildings, following a straight line between the buildings.

每个通信电缆连接两个建筑物,在建筑物之间的一条直线。

Information travels along a cable in both directions.

信息沿着两个方向的电缆。

Cables can freely cross each other, but they are only connected together at their endpoints (at buildings).

电缆可以自由地相互交叉,但他们只连接在一起,在它们的端点(建筑物)。

You have been given a campus map which shows the locations of all buildings and existing communication cables.

你已经给了一个校园地图,显示了所有建筑物和现有的通信电缆的位置。

You must not alter the existing cables.

你不能改变现有的电缆。

Determine where to install new communication cables so that all buildings are connected.

确定要安装新的通信电缆,连接所有大楼。

Of course, the university wants you to minimize the amount of new cable that you use.

当然,大学要你减少你使用新的电缆的数量。

【最小生成树 Prim/Kruskal&并查集】



Fig: University of Waterloo Campus 图:滑铁卢大学校园



 



Input



The input file describes several test case.  The description of each test case is given below:

输入文件描述了几个测试用例。每个测试案例的描述如下:

The first line of each test case contains the number of buildings N (1<&#61;N<&#61;750). The buildings are labeled from 1 to N.

每个测试案例的第一行包含建筑的数量N&#xff08;1≤n≤750&#xff09;。建筑标记从1到N&#xff0c;

The next N lines give the x and y coordinates of the buildings.

以下N行给X和Y坐标的建筑物。

These coordinates are integers with absolute values at most 10000.

这些坐标是绝对值的整数 最多10000

No two buildings occupy the same point.

没有两个建筑占据同一点。

After that there is a line containing the number of existing cables M (0 <&#61; M <&#61; 1000) followed by M lines describing the existing cables.

之后有一行包含现有的电缆的数量&#xff08;0≤m≤1000&#xff09;随后的M行描述现有的电缆。

Each cable is represented by two integers: the building numbers which are directly connected by the cable.

每个电缆是由两个整数表示&#xff1a;这是由电缆直接连接的门牌号码。

There is at most one cable directly connecting each pair of buildings.

至多有一个电缆直接连接每对建筑物。

Output



For each set of input, output in a single line the total length of the new cables that you plan to use, rounded to two decimal places.

对每一组输入&#xff0c;输出一行新的电缆总长度&#xff0c;你计划使用&#xff0c;圆形到两位小数。




推荐阅读
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • 本文探讨了如何通过预处理器开关选择不同的类实现,并解决在特定情况下遇到的链接器错误。 ... [详细]
  • Redux入门指南
    本文介绍Redux的基本概念和工作原理,帮助初学者理解如何使用Redux管理应用程序的状态。Redux是一个用于JavaScript应用的状态管理库,特别适用于React项目。 ... [详细]
  • 云函数与数据库API实现增删查改的对比
    本文将深入探讨使用云函数和数据库API实现数据操作(增删查改)的不同方法,通过详细的代码示例帮助读者更好地理解和掌握这些技术。文章不仅提供代码实现,还解释了每种方法的特点和适用场景。 ... [详细]
  • 本文介绍如何从字符串中移除大写、小写、特殊、数字和非数字字符,并提供了多种编程语言的实现示例。 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • 在编译BSP包过程中,遇到了一个与 'gets' 函数相关的编译错误。该问题通常发生在较新的编译环境中,由于 'gets' 函数已被弃用并视为安全漏洞。本文将详细介绍如何通过修改源代码和配置文件来解决这一问题。 ... [详细]
  • 探讨ChatGPT在法律和版权方面的潜在风险及影响,分析其作为内容创造工具的合法性和合规性。 ... [详细]
  • 本文介绍了如何使用JavaScript的Fetch API与Express服务器进行交互,涵盖了GET、POST、PUT和DELETE请求的实现,并展示了如何处理JSON响应。 ... [详细]
  • This post discusses an issue encountered while using the @name annotation in documentation generation, specifically regarding nested class processing and unexpected output. ... [详细]
  • 本文介绍了如何在React和React Native项目中使用JavaScript进行日期格式化,提供了获取近7天、近半年及近一年日期的具体实现方法。 ... [详细]
  • 本题要求在一组数中反复取出两个数相加,并将结果放回数组中,最终求出最小的总加法代价。这是一个经典的哈夫曼编码问题,利用贪心算法可以有效地解决。 ... [详细]
  • 使用JS、HTML5和C3创建自定义弹出窗口
    本文介绍如何结合JavaScript、HTML5和C3.js来实现一个功能丰富的自定义弹出窗口。通过具体的代码示例,详细讲解了实现过程中的关键步骤和技术要点。 ... [详细]
author-avatar
瑩影貓貓05
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有