#P1004. [CSP-J 2024] 地图探险

[CSP-J 2024] 地图探险

在一张 n×mn\times m 的地图上,字符 .\texttt{.} 表示可通行的空地,x\texttt{x} 表示障碍物。机器人初始位于 (x0,y0)(x_0,y_0);方向 0,1,2,30,1,2,3 分别表示东、南、西、北。

机器人执行恰好 kk 次操作。每次操作中,若正前方一格仍在地图内且为可通行空地,则机器人前进一格;否则机器人原地顺时针右转 9090^\circ。转向本身也计作一次操作。

求机器人曾到达过的不同格子数,起点也应计入。

输入格式

第一行一个整数 TT,表示测试数据组数。

每组数据的第一行包含三个整数 n,m,kn,m,k;第二行包含三个整数 x0,y0,d0x_0,y_0,d_0;随后给出 nn 行地图。

坐标从 11 开始编号,且起点保证是空地。

输出格式

对每组数据输出一行一个整数,表示经过的不同格子数量。

样例 1

2
1 5 4
1 1 2
....x
5 5 20
1 1 0
.....
.xxx.
.x.x.
..xx.
x....
3
13

数据范围与原题特殊限制

对于所有测试数据,保证:1T51 \leq T \leq 51n,m1031 \leq n, m \leq 10^31k1061 \leq k \leq 10^61x0n1 \leq x_0 \leq n1y0m1 \leq y_0 \leq m0d030 \leq d_0 \leq 3,且机器人的起始位置为空地。

测试点编号 nn mm kk 特殊性质
11 =1=1 2\leq 2 =1=1
22
33 102\leq 10^2
44
55 =1=1 103\leq 10^3 2×103\leq 2\times 10^3 地图上所有位置均为空地
66
77 103\leq 10^3 106\leq 10^6 地图上所有位置均为空地
88
99
1010

来源与数据说明

原题页面。以上题意为重新整理的表述,规则、输入输出和约束与原题一致。本题使用独立生成的训练数据,原题测试点表仅说明原比赛范围与特殊性质,本包评分不复刻官方测试点分布。标准输入输出,不要求文件读写。