/ Vijos / 题库 /

连通点阵

连通点阵

时间限制:1秒  内存限制:256M


【题目描述】

  有一个 \(m\) 行 \(n\) 列的点阵(行编号为 \(1..m\),列编号为 \(1..n\)),相邻两点可以相连。一条纵向的连线花费一个单位,一条横向的连线花费两个单位。某些点之间已经有连线了,试问至少还需要花费多少个单位才能使所有的点全部连通。

【输入格式】

  第一行输入两个正整数 \(m\) 和 \(n\)。
  以下若干行每行四个正整数 \(x_1,y_1,x_2,y_2\),表示第 \(x_1\) 行第 \(y_1\) 列的点和第 \(x_2\) 行第 \(y_2\) 列的点已经有连线。输入保证 \(|x_1-x_2 |+|y_1-y_2 |=1\)。

【输出格式】

  输出使得连通所有点还需要的最小花费。

【输入输出样例1】

 Input

2 2
1 1 2 1

 Output

3

【输入输出样例1说明】

  如下图,已经连接(1,1)—(2,1),只需新连接(1,1)—(1,2)和(1,2)—(2,2);或者新连接(2,1)—(2,2)和(1,2)—(2,2)。花费为3各单位。
说明

【输入输出样例2】

 Input

4 5
1 1 1 2
1 2 2 2
2 2 2 1
2 1 1 1
2 2 3 2
3 2 3 3
3 4 4 4

 Output

15

【数据限制】

  对于 \(100\%\) 的数据,\(1≤n,m≤1000\)。

【来源】

  Mr.he

信息

ID
1862
难度
9
分类
图结构 | 生成树并查集树结构 | 数据结构 点击显示
标签
(无)
递交数
2
已通过
1
通过率
50%
被复制
5
上传者