lz的蛋挞问题
题号:NC283776
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

lz买了一些奶贝和蛋挞,恰好可以放满一个两行n列的盒子。
假定在上下左右四个方向相邻的蛋挞之间有一条路径。定义蛋挞连通块为一组蛋挞,这组蛋挞中任意两个蛋挞都连通。
如下图,白色代表蛋挞,黑色方格代表奶贝。
现在lz只允许你吃掉一个蛋挞,并在其原来的位置上放一个奶贝,并要求蛋挞的连通块的数量发生变化
例如上述情况,我们吃掉第一行的第一个蛋挞,则蛋挞的连通块的数量由3变为4。
现在lz想知道有多少个蛋挞被吃掉后可以改变蛋挞的联通块的数量

输入描述:

第一行输入一个整数n(1≤n≤2⋅10^5)表示列数
接下来2行,每行n个字符,每个字符是 . (表示蛋挞)或 x (表示奶贝)

输出描述:

一个整数,表示答案。
示例1

输入

复制
8
..x....x
.x.xx...

输出

复制
5