AT_arc032_2.[ARC032B] 道路工事

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

在大工的“チョーさん”的小镇上,道路建设正在进行中。チョーさん的小镇有 NN 个交叉路口和 MM 条道路,每条道路都是双向连接两个不同的交叉路口。不方便的是,从某个交叉路口出发,并不一定能通过道路到达其他交叉路口。

チョーさん的建筑公司希望修建一些连接不同交叉路口的新道路,使得从 NN 个任意一个交叉路口出发,都可以通过道路到达其他任意交叉路口。

请你回答,至少需要修建多少条新道路,才能使得从任意一个交叉路口出发,都可以通过道路到达其他任意交叉路口。如果已经可以从任意一个交叉路口出发到达其他所有交叉路口,则输出 00。

输入格式

输入将以以下格式从标准输入中给出。

NN MM
a1a_1 b1b_1
a2a_2 b2b_2
⋮\vdots
aMa_M bMb_M

  • 第 11 行包含两个整数 NN(表示チョーさん小镇的交叉路口数量,1≤N≤100,0001 \leq N \leq 100,000)和 MM(表示已有道路的数量,0≤M≤100,0000 \leq M \leq 100,000),以空格分隔。
  • 接下来的 MM 行,每行包含两个整数 ai,bia_i, b_i(1≤ai,bi≤N1 \leq a_i, b_i \leq N),表示第 ii 条道路连接的两个交叉路口,以空格分隔。
  • 不会有连接同一对交叉路口的多条道路。即对于任意 i≠ji \neq j,都有 ai≠aja_i \neq a_j 或 bi≠bjb_i \neq b_j。

输出格式

请在第 11 行输出需要新建的最少道路数。

请不要忘记输出末尾的换行符。

输入输出样例

  • 输入#1

    4 2
    1 2
    1 3

    输出#1

    1
  • 输入#2

    6 4
    1 2
    2 3
    1 3
    5 6

    输出#2

    2

说明/提示

样例解释 1

交叉路口 11、22、33 彼此之间通过道路相连,但交叉路口 44 没有与其他路口相连。例如,只需新建一条连接交叉路口 11 和 44 的道路即可满足要求。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页