3596: 信号塔覆盖

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:17 解决:7

题目描述

在一个 n 座小岛组成的群岛中,某些小岛之间可以通过无线信号直接通信(双向)。
现在计划建设通信网络,目标是:任意两座小岛之间都能通信(直接或通过其他小岛中转)。

已知目前有 m 对小岛之间已经具备直接通信能力。

政府希望知道:最少还需要新建多少条通信链路,才能让所有小岛实现互联互通。

注意:新建的通信链路可以连接任意两个小岛(无论是否相邻)。

给定 n 个小岛和 m 条现有通信链路,求最少需要新增多少条链路,使得整个群岛连通。

输入

  • 第一行:两个整数 n 和 m,表示小岛数量和现有通信链路数
  • 接下来 m 行:每行两个整数 u 和 v,表示小岛 u 和 v 之间已有直接通信(编号从 1 开始)

输出

一行一个整数,表示最少需要新建的通信链路数量。

样例输入 复制

5 3
1 2
2 3
4 5

样例输出 复制

1

提示

变量 范围 说明
n 1n104 小岛数量
m 0m105 现有链路数
u,v 1u,vnuv 无自环,无重边(题目可默认)