CF1549B Gregor and the Pawn Game

题目描述

有一个 $n \times n$ 的国际象棋棋盘。第 $i$ 行从上到下、第 $j$ 列从左到右的格子标记为 $(i, j)$。 现在,Gregor 在第 $n$ 行有一些兵。同时,第 $1$ 行有敌方的兵。在每一回合,Gregor 可以移动他的一枚兵。兵可以向上移动一格(从 $(i, j)$ 到 $(i-1, j)$),前提是目标格子没有任何兵。此外,兵还可以斜向上移动一格(从 $(i, j)$ 到 $(i-1, j-1)$ 或 $(i-1, j+1)$),但只有当目标格子有敌方的兵时才可以,并且该敌方兵会被移除。 Gregor 想知道,最多有多少枚他的兵能够到达第 $1$ 行? 注意,这个游戏中只有 Gregor 行动,敌方的兵不会移动。当 Gregor 的兵到达第 $1$ 行后,将无法再移动。

输入格式

输入的第一行为一个整数 $t$($1 \le t \le 2 \cdot 10^4$),表示测试用例的数量。接下来有 $t$ 组测试数据。 每组测试数据包含三行。第一行为一个整数 $n$($2 \le n \le 2 \cdot 10^5$),表示棋盘的大小。 第二行为一个长度为 $n$ 的二进制字符串,其中第 $i$ 位为 $1$ 表示第 $1$ 行第 $i$ 列有一个敌方兵,为 $0$ 表示该格为空。 第三行为一个长度为 $n$ 的二进制字符串,其中第 $i$ 位为 $1$ 表示第 $n$ 行第 $i$ 列有 Gregor 的兵,为 $0$ 表示该格为空。 保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。

输出格式

对于每个测试用例,输出一个整数,表示最多有多少枚 Gregor 的兵能够到达第 $1$ 行。

说明/提示

在第一个样例中,Gregor 可以直接将他的 $3$ 枚兵全部前进到第 $1$ 行,因此答案为 $3$。 在第二个样例中,Gregor 可以保证他的 $4$ 枚兵全部到达敌方所在的行,具体路径如图所示。请记住,这个“游戏”中只有 Gregor 行动! ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1549B/eb2df5f00e8c7d1290d3251e314fd1200ad28d29.png) 在第三个样例中,Gregor 的唯一一枚兵被敌方兵挡住,无法到达终点。 在第四个样例中,Gregor 没有任何兵,因此答案显然为 $0$。 由 ChatGPT 4.1 翻译