已结束 GESP巅峰赛#36

A7468 | 午枫的教室路线

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

小午所在的教室被划分成一个 $H \times W$ 的方格,每个格子表示一个座位。

小午从左上角座位 $(1,1)$ 出发,需要走到右下角座位 $(H,W)$。

每一步只能向下(D)或向右(R)移动一格,总共需要走 $H+W-2$ 步。

现在给定一个长度为 $H+W-2$ 的字符串 $S$,其中:

- D 表示这一步必须向下走;
- R 表示这一步必须向右走;
- ? 表示这一步可以自由选择向下或向右。

对于每一种合法的走法,小午都会把路径上经过的所有座位(包括起点和终点)都标记为“已访问”。

现在,小午想知道:

在所有满足 $S$ 约束的路径中,最多可以让多少个不同的座位被访问到(至少一次)

输入格式

第一行输入一个整数 $T$,表示测试数据组数。

对于每组数据:

第一行输入两个整数 $H,W$,表示教室的行数和列数。

第二行输入一个长度为 $H+W-2$ 的字符串 $S$,由 DR? 组成,表示移动规则。

输出格式

对于每组数据,输出一行一个整数,表示最多可以被访问到的座位数量。

输入输出样例

输入 #1
4
4 5
D?DRR?R
4 5
DDRRDRR
4 5
???????
2 2
DR
输出 #1
12
8
20
3
C++ 编辑器
输入
输出