3714 - 梦中岛之路
描述

小Y在梦里看到另一座岛上有宝藏,但两座岛不相连,他要给海水铺路使两座岛连通,且尽量少铺。把岛看作二维数组里的1,水看作0。给你一个只含0/1的 N*N 数组,岛是由1组成的四连通块,保证恰有两座岛。要求把最少的0变成1使两座岛连通。

输入

第一行一个整数 N (1 <= N <= 100)。
接下来 N 行,每行 N 个数字 0 或 1(0代表水,1代表岛,行内无空格)。

输出

一个整数表示最少需要把 0 变成 1 的数量。

样例

输入

3
010
000
001

输出

2
提示

从第一座岛的所有1出发做BFS,第一次触到另一座岛的1时走过的0的个数即答案(=两岛最小曼哈顿距离-1)。

来源
51nod 2593
标签
题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 1
通过次数 1