AT_abl_c.Connect Cities

普及-

通过率:0%

AC君温馨提醒

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

题目描述

有 NN 个城市(编号从 11 到 NN)和 MM 条双向道路(编号从 11 到 MM)。第 ii 条道路连接城市 AiA_i 和城市 BiB_i。

すぬけ君可以进行如下操作任意多次(包括 00 次):

  • 选择两个尚未直接通过道路相连的不同城市,在它们之间修建一条道路。

操作结束后,必须保证任意一对城市之间都可以通过若干条道路(可以重复经过道路)到达。

为了实现这一目标,最少需要修建多少条道路?

输入格式

输入以如下格式从标准输入读入。

NN MM
A1A_1 B1B_1
A2A_2 B2B_2
⋮\vdots
AMA_M BMB_M

输出格式

请输出答案。

输入输出样例

  • 输入#1

    3 1
    1 2

    输出#1

    1

说明/提示

限制条件

  • 2≤N≤100, ⁣0002 \leq N \leq 100,\!000
  • 1≤M≤100, ⁣0001 \leq M \leq 100,\!000
  • 1≤Ai<Bi≤N1 \leq A_i < B_i \leq N
  • 任意两条道路不会连接同一对城市。
  • 所有输入均为整数。

样例解释 1

最初有三个城市,城市 11 和城市 22 之间有一条道路。すぬけ君可以在城市 11 和城市 33 之间修建一条道路来实现目标。修建道路后:

  • 可以直接从城市 11 到城市 22。
  • 可以直接从城市 11 到城市 33。
  • 可以通过两条道路从城市 22 到城市 33(22-11-33)。

由 ChatGPT 4.1 翻译

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

首页