#P1085. 校区巴士联通

校区巴士联通

题目描述

某学校有 nn 个校区,部分校区之间已经开通了双向巴士线路。只要能通过若干条线路从一个校区到达另一个校区,就认为这两个校区已经可以互通。

后勤处希望让任意两个校区都能互通。每新增一条线路,可以直接连接任意两个校区。请计算在当前线路基础上,最少还需要新增多少条线路。

输入格式

输入包含多组数据。

每组数据第一行包含两个整数 n,mn,m,分别表示校区数量和已有线路数量。若这一行只有一个整数 0,表示输入结束。

接下来 mm 行,每行包含两个整数,表示一条已有双向线路连接的两个校区编号。校区编号为 11nn

注意:两个校区之间可能已经存在多条线路。

输出格式

对于每组数据,输出一行一个整数,表示最少需要新增的线路数量。

4 2
1 3
4 3
3 3
1 2
1 3
2 3
5 2
1 2
3 5
999 0
0
1
0
2
998

数据范围

对于 100%100\% 的数据,1n<10001\le n<1000