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. 对象存储COS成本优化方案

    随着上云企业越来越多,企业对用云成本问题也越发重视.业务的发展会产生海量存储需求,在云端存储数据时,如何进行成本优化,减轻业务负担呢? 在进行成本优化之前,首先需要了解腾讯云对象存储COS的成本构成. ...

  2. 部署docker-registry +ui , 使用ansible部署docker实例

    #部署docker-registry +ui , 使用ansible部署docker实例 docker registry 配置域名证书, 用户密码认证, 轻量UI shell部署docker-regi ...

  3. Qt6中重大改变的QtMultimedia多媒体模块

    一.前言 Qt 6.2 的第一个测试版刚刚发布,并在多个其他新附加组件中加入了全新的 Qt 多媒体模块.Qt Multimedia 是一个模块,它在 Qt 6 中发生了一些相当大的变化. 在很多方面, ...

  4. 《Spring MVC+MyBatis快速开发与项目实战》-黄文毅2019:一书的源码和配套视频下载地址

    <Spring MVC+MyBatis快速开发与项目实战>-黄文毅2019:一书的源码下载地址: http://github.com/huangwenyi10/springmvc-myba ...

  5. 2020年了,Android后台保活还有戏吗?看我如何优雅的实现!

    1.引言 对于移动端IM应用和消息推送应用的开发者来说,Android后台保活这件事是再熟悉不过了. 自从Android P(即Android 8.0)出现以后,Android已经从系统层面将后台保活 ...

  6. gRPC编译与字段编号的细节探讨

    上次我们专门通过一个简单的HelloWorld示例来了解了gRPC的基本概念和使用方法.今天,我们将继续深入探讨gRPC,重点讨论一些在实际应用中需要特别注意的要点.实际上,gRPC的核心目标是简化远 ...

  7. Task异常处理的坑

    全局异常 TaskScheduler.UnobservedTaskException += (e, args) =>{ MessageBox.Show("ddddddddddddddd ...

  8. 2020年最新Redis面试题-copy

    什么是Redis Redis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库. Redis 可以存储键和 ...

  9. ClickHouse-2接口

    客户端 ClickHouse提供了两个网络接口(两个都可以选择包装在TLS中以增加安全性): HTTP, 包含文档,易于使用. Native TCP,简单,方便使用. 在大多数情况下,建议使用适当的工 ...

  10. w3cschool-MyBatis 教程

    参考 https://www.w3cschool.cn/mybatis/mybatis-dyr53b5w.html MyBatis 入门 SqlSessionFactoryBuilder用 SqlSe ...