#3917. USACO 2011 年 11 月比赛 铜牌组 Cow Beauty Pageant (Bronze Level)
USACO 2011 年 11 月比赛 铜牌组 Cow Beauty Pageant (Bronze Level)
题目描述
听说最新的流行趋势是牛身上有两个斑点,Farmer John 购买了一整群“两点奶牛”。
不幸的是,时尚潮流往往变化很快,现在最流行的竟然是“单斑点”奶牛!
FJ 希望通过给每头奶牛涂油漆,把它的两个斑点合并成一个。
牛皮被描述为一个 的字符网格(),每个字符只能是:
X:表示斑点的一部分;.:表示空白皮肤。
两个 X 如果上下或左右相邻(对角线不算)则属于同一个斑点。
FJ 保证每头奶牛恰好只有两个斑点。
你的任务是:用最少的额外 X 把这两个斑点连成一个大斑点,输出需要新增 X 的最小数量。
输入格式
- 第 1 行:两个空格分隔的整数 和 。
- 第 行:每行一个长度为 的字符串,仅含字符
X和.,表示牛皮图案。
输出格式
- 第 1 行:一个整数,表示需要新增的最少
X数量。
样例
样例输入
6 16
................
..XXXX....XXX...
...XXXX....XX...
.XXXX......XXX..
........XXXXX...
.........XXX....
样例输出
3
数据范围与提示
- 。
- 网格中恰好有两个连通块(斑点)。
- 只能上下左右移动,不能对角线移动。