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. HttpClientFactory in ASP.NET Core 2.1 Part 2:定义命名和类型化的客户端

    HttpClientFactory in ASP.NET Core 2.1 Part 2:定义命名和类型化的客户端 原文地址:https://www.stevejgordon.co.uk/httpcl ...

  2. 中电金信召开“源启 AI+”人工智能应用场景与发展培训暨业务研讨会

    近年来,国务院国资委把加快发展人工智能放在国资央企全局工作中统筹谋划,作为产业焕新行动和启航行动部署的主要方向,制定印发行动计划,组织召开中央企业人工智能专题推进会,开展"AI+" ...

  3. 共建共荣金融生态!金融级数字底座“源启”与GoldenDB数据库完成互认证

    近日,中电金信金融级数字底座"源启"顺利与金篆信科GoldenDB分布式数据库完成互认证.GoldenDB数据库安全稳定运行在"源启"之上,整体性能表现卓越,进 ...

  4. 从英库(Engkoo)输入法吐槽

    今天整理文件的时候发现在 OneDrive 的根目录还有一个 EngkooPinyin 的文件夹,看配置文件更新已经是 2014 年 3 月了.当时微软出这个输入法的时候,感觉非常好用,然后满怀热情给 ...

  5. Navicat Premium15安装与激活

    Navicat premium是一款数据库管理工具,是一个可多重连线资料库的管理工具,它可以让你以单一程式同时连线到 MySQL.SQLite.Oracle 及 PostgreSQL 资料库,让管理不 ...

  6. Qt/C++开源作品45-CPU内存显示控件/和任务管理器一致

    一.前言 在很多软件上,会在某个部位显示一个部件,专门显示当前的CPU使用率以及内存占用,方便用户判断当前程序或者当前环境中是否还有剩余的CPU和内存留给程序使用,在不用打开任务管理器或者资源查看器的 ...

  7. 百度高效研发实战训练营-Step3

    .# 百度高效研发实战训练营-Step3 3.1 质量意识 关于本部分,将从以下几点进行介绍: 3.1.1 质量的基本概念 意识的树立,源于认识的提高. 首先介绍质量的基本概念,主要包括以下内容: 1 ...

  8. 一站式解决方案 :OFD电子证照生成

    前言 证照的电子化是一个趋势:可以预计,未来几年内,绝大部分证照都会电子化.电子证照的种类越来越多,应用场景也复杂多样:这就给电子证照规范的制定.电子证照的生成提出了更高的要求.电子证照采用的格式有两 ...

  9. 如何修改 Docker 和 Docker Compose 默认占用的网段

    在使用 Docker 和 Docker Compose 进行容器化部署时,Docker 默认会为容器分配一个私有网段(通常是 172.17.0.0/16).然而,在某些情况下,这个默认网段可能会与现有 ...

  10. 从SOA到RPC、SOAP、REST-copy

    从SOA说起SOA是把项目拆成组件,每个组件暴露出服务,强调的是服务的复用.SOA架构实现不依赖于技术,因此能够被各种不同的技术实现.例如:SOAP, RPC,REST,DCOM,CORBA,OPC- ...