最新消息:680元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

信息学奥赛题库- 连接格点(grid)

C++ 少儿编程 1145浏览 0评论

友情提示:680元/半年,儿童学编程,就上码丁实验室

【题目描述】

有一个$M$行$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$。

【输出】

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

【输入样例】

2 2
1 1 2 1

【输出样例】

3

【提示】

【数据规模】

30%数据:$n×m≤1000$;

100%数据:$m,n≤1000$。

您必须 登录 才能发表评论!