AT_abc392_e [ABC392E] Cables and Servers

题目描述

有编号从 \(1\) 到 \(N\) 的 \(N\) 台服务器和编号从 \(1\) 到 \(M\) 的 \(M\) 根电缆。

电缆 \(i\) 双向连接服务器 \(A_i\) 和服务器 \(B_i\)。

通过进行以下操作(可以是 \(0\) 次),使得所有服务器之间都能通过电缆相互连接:

  • 操作:选择一根电缆,将其一端连接到另一台服务器

请找出操作的最小次数,并输出达到最小次数的操作序列。

输入格式

输入通过标准输入给出,格式如下:

\(N\) \(M\)

\(A_1\) \(B_1\)

\(A_2\) \(B_2\)

\(\vdots\)

\(A_M\) \(B_M\)

输出格式

设操作的最小次数为 \(K\),输出 \(K+1\) 行。

第一行输出 \(K\)。

接下来的 \(i+1\) 行(\(1 \leq i \leq K\))输出第 \(i\) 次操作中选择的电缆编号、操作前连接的服务器编号、操作后连接的服务器编号,用空格分隔。

如果有多个满足条件的解,输出任意一个均可。

输入输出样例 #1

输入 #1

4 5
1 1
1 2
2 1
3 4
4 4

输出 #1

1
1 1 3

输入输出样例 #2

输入 #2

4 3
3 4
4 1
1 2

输出 #2

0

输入输出样例 #3

输入 #3

5 4
3 3
3 3
3 3
3 3

输出 #3

4
1 3 5
2 3 4
3 3 2
4 3 1

说明/提示

约束

  • \(2 \leq N \leq 2 \times 10^5\)
  • \(N-1 \leq M \leq 2 \times 10^5\)
  • \(1 \leq A_i, B_i \leq N\)
  • 输入均为整数

样例解释 1

将电缆 \(1\) 连接服务器 \(1\) 的一端改为连接服务器 \(3\),可以使所有服务器通过电缆相互连接。



其他操作如“将电缆 \(5\) 连接服务器 \(4\) 的一端改为连接服务器 \(1\)”或“将电缆 \(2\) 连接服务器 \(2\) 的一端改为连接服务器 \(3\)”也能使所有服务器通过电缆相互连接,因此这些操作也被视为正确答案。

样例解释 2

有时可能不需要进行任何操作。

样例解释 3

需要多次操作才能将所有服务器连接起来。

ABC392E翻译的更多相关文章

  1. 《Django By Example》第五章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者@ucag注:大家好,我是新来的翻译, ...

  2. 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...

  3. [翻译]开发文档:android Bitmap的高效使用

    内容概述 本文内容来自开发文档"Traning > Displaying Bitmaps Efficiently",包括大尺寸Bitmap的高效加载,图片的异步加载和数据缓存 ...

  4. 【探索】机器指令翻译成 JavaScript

    前言 前些时候研究脚本混淆时,打算先学一些「程序流程」相关的概念.为了不因太枯燥而放弃,决定想一个有趣的案例,可以边探索边学. 于是想了一个话题:尝试将机器指令 1:1 翻译 成 JavaScript ...

  5. 《Django By Example》第三章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:第三章滚烫出炉,大家请不要吐槽文中 ...

  6. 《Django By Example》第二章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:翻译完第一章后,发现翻译第二章的速 ...

  7. 《Django By Example》第一章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:本人目前在杭州某家互联网公司工作, ...

  8. 【翻译】Awesome R资源大全中文版来了,全球最火的R工具包一网打尽,超过300+工具,还在等什么?

    0.前言 虽然很早就知道R被微软收购,也很早知道R在统计分析处理方面很强大,开始一直没有行动过...直到 直到12月初在微软技术大会,看到我软的工程师演示R的使用,我就震惊了,然后最近在网上到处了解和 ...

  9. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第一章:创建基本的MVC Web站点

    在这一章中,我们将学习如何使用基架快速搭建和运行一个简单的Microsoft ASP.NET MVC Web站点.在我们马上投入学习和编码之前,我们首先了解一些有关ASP.NET MVC和Entity ...

  10. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之目录导航

    ASP.NET MVC with Entity Framework and CSS是2016年出版的一本比较新的.关于ASP.NET MVC.EF以及CSS技术的图书,我将尝试着翻译本书以供日后查阅. ...

随机推荐

  1. Dapr-4: 交通管制示例应用

    第 4 章 交通管制示例应用 Introduction to the Traffic Control sample application | Microsoft Docs 在前面的章节种,你已经学习 ...

  2. 为什么C#越来越恶心

    看看这个 再看这些 more 老子声明个空函数,没有访问数据请改为 static,真是越来越智障 为什么一个活泼的语言越搞越像 C++? C# 发明了各种可爱的小玩意儿,尤其是 async/await ...

  3. 【MyBatis】学习笔记03:配置文件进一步解读(非常重要)

    [Mybatis]学习笔记01:连接数据库,实现增删改 [Mybatis]学习笔记02:实现简单的查 目录 核心配置文件 properties 将properties文件引入到核心文件 typeAli ...

  4. 爬虫自动化脚本+AI赋能

    简介 估计大家对网页爬取和数据抓取已经有所了解,市面上也有许多现成的软件可供使用.例如,前几天群里有位朋友利用爬虫技术抓取了AV网站,并搭建了一个磁力链接站点. 本文将介绍如何模拟手动操作,将一些繁琐 ...

  5. Spring Boot logback springProperty 设置默认值

    springProperty 当没有读取到source字段中设置的log.path值时,设置为defaultValue字段中的${user.dir}/logs变量值. <springProper ...

  6. MessageConsumer

    @Slf4j @Component public class MessageConsumer { @Autowired private PpcRequestMessageListener ppcReq ...

  7. cs-script:一个非常成熟的C#脚本开源引擎

    推荐一个强大C#脚本引擎,方便我们在项目中,动态执行C#脚本. 01 项目简介 CS-Script是非常成熟的C#脚本引擎,自2004年起就发布了,即.NET发布后的两年. 支持托管和独立(CLI)执 ...

  8. Qt/C++地图标注点的添加删除移动旋转/指定不同图标和动图/拿到单击信号

    一.前言说明 标注点在地图开发中是最常见的应用场景之一,比如在地图上需要显示设备的位置,基本上都是添加标注点,指定图片和尺寸已经经纬度坐标位置.这个功能在每种地图内核中都提供的,这个并没有任何难点,在 ...

  9. Qt数据库应用16-通用数据库采集

    一.前言 数据库采集对应的就是上一篇文章的数据库同步,数据库同步到云端数据库以后,app.网页.小程序啥的要数据的话,可以通过执行http请求拿到数据,http接收应答这边程序一般最简单可以用php写 ...

  10. 饿了么组件中el-menu el-submenu el-menu-item三者之间的关系

    饿了么组件中el-menu  el-submenu   el-menu-item三者之间的关系: 1.<el-menu>是菜单标签,里面可以包括:<el-submenu>和&l ...