#jskmm2. 翻转01序列

翻转01序列

题目背景

蒜头君最近迷上一个游戏——翻转01序列。他只有一个只包含0和1的序列,现在他想把这个序列变成另一个目标序列。每次,他可以选择序列的一个前缀并将他们全部翻转(0变成1,1变成0)。蒜头军想知道最少需要多少次操作才能把初始序列变成目标序列。你能帮蒜头军解决这个问题吗?

输入格式

第一行,输入一个整数n,表示字符串长度; 第二行,输入一个字符串,表示初始序列; 第三行,输入一个字符串,表示目标序列,长度与初始序列相同;

输出格式

输出一个整数,表示最少需要的操作次数。

数据范围

对于60%的数据,n1000n\leq1000

对于100%的数据,n100000n\leq100000

样例

4
1100
0011
1
样例解释1

初始序列是1100,目标序列是0011。第1次操作:翻转前缀1100的前4个字符,得到0011。最终变为目标序列,需要1次操作。

4
0000
1111
1
样例解释2

初始序列是0000,目标序列是1111。第1次操作:翻转前缀0000的全部四个字符,得到1111。最终变为目标序列,只需要一次操作。

4
1010
1001
2
样例解释3

初始序列是1010,目标序列是1001。第一次操作:翻转前缀1010的前两个字符,得到0110。第二次操作:翻转前缀0110的前四个个字符,得到1001,最终变成目标序列,需要2次操作

时间空间限制

1000ms,262144K