小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)。