棋局

提交数: 43, 通过率: 4.65%, 平均分: 47.44

题目描述:

在输了一晚上的麻将之后,小 z 和小 c 卸掉了手机上的所有牌类游戏。不过这怎么可能阻挡得了他们上课颓废的决心呢?现在他们的目光盯在了棋类游戏上,但他们两个除了天天下飞行棋以外,几乎所有棋类游戏都只懂个大概规则。

“既然我们都会玩但只能玩一点点,不如我们自己搞个缝合怪出来吧!”

于是,在他们的精心脑洞之下,一个融合了围棋、象棋与军棋的奇妙游戏诞生了……

1638681454955947945.png

输入格式:

每个测试点由多组数据组成。

第一行:一个正整数 TT 表示数据组数。

对于每组数据:

第一行:三个正整数 n,m,q,分别表示棋盘的行数、列数和游戏的轮数。

接下来 n 行,每行为一个长 m−1 的字符串,每个字符为 0、1、2、3 中的一个,第 i 行第 j 个字符表示交叉点 (i,j) 连向交叉点 (i,j+1) 的网格线状态。

接下来 n−1 行,每行为一个长 m 的字符串,每个字符为 0、1、2、3 中的一个,第 i 行第 j 个字符表示交叉点(i,j) 连向交叉点(i+1,j) 的网格线状态。

接下来 q 行,每行 4 个非负整数coli​,lvi​,xi​,yi​,表示在第 i 轮有一枚颜色为 coli​,等级为 lvi​ 的棋子放在了交叉点 (xi​,yi​) 上。其中 coli​=0 表示黑子,coli​=1 表示白子。保证之前交叉点 (xi​,yi​) 上没有棋子。

输出格式:

对于每组数据输出 q 行,每行一个非负整数,表示第 i 枚棋子放置后能走到的交叉点数量。

样例输入:

样例1
1
3 3 5
13
22
23
010
233
0 1 2 3
1 2 2 1
1 3 1 2
0 2 3 2
1 3 2 2

样例2
2
2 3 4
22
33
123
0 2 1 2
0 1 2 1
1 2 1 3
0 3 2 2
3 2 3
3
1
3
32
32
0 2 1 2
1 2 3 2
0 1 2 2

样例输出:

样例1
4
3
3
3
2

样例2
3
4
4
2
5
5
1

提示:

说明/提示

【样例解释 #1】

放置棋子 1 后,它能走到的位置为 (2,1),(2,2),(3,2),(3,3)。

放置棋子 2 后,它能走到的位置为 (2,2),(2,3),(3,1)。

放置棋子 3 后,它能走到的位置为 (1,1),(1,3),(2,2)。

放置棋子 4 后,它能走到的位置为 (2,2),(3,1),(3,3)。

放置棋子 5 后,它能走到的位置为(2,3),(3,2)。

【数据范围】

1638681645523562397.png

时间限制: 4000ms
空间限制: 1024MB

来源: NOIP2021提高4