问题1958--国际象棋-兵斗

1958: 国际象棋-兵斗

[命题人 : ]
时间限制 : 1.000 sec  内存限制 : 128 MB

题目描述

现在在一个 n×n 的棋盘上,最上方一行有一些对手的兵,最下方一行有一些我方的兵(均用 1 表示有兵,0 表示没有兵)。对手的兵不会动,我方的兵可以移动,移动规则如下。

对于位于 (x,y) 的我方的兵:

如果 (x−1,y) 没有兵,则该兵可以向上走到 (x−1,y)。

如果 (x−1,y−1) 或 (x−1,y+1) 有敌方的兵,那你可以把敌方的兵移出棋盘并斜向上走到它的位置。

问通过若干次移动,最多可以使多少我方的兵到达最上方一行?

输入

第一行,输入整数 T,表示有 T 组数据。1<=T<=2∗10^4

接下来每组第一行,整数 n,表示棋盘大小。1<=n<=2∗10^5,保证所有 n 之和不大于 2∗10^5。

第二行,一个二进制串,表示敌方士兵情况。

第三行,一个二进制串,表示我方士兵情况。



输出

T 行,每行一个整数,表示我方有多少士兵可以到达敌方。

样例输入 Copy

4
3
000
111
4
1111
1111
3
010
010
5
11001
00000

样例输出 Copy

3
4
0
0

来源/分类