#925. 圣诞老人
圣诞老人
题目描述
给定一个 行 列的网格。记从上往下数第 行、从左往右数第 列的格子为 。
如果 是 #,则该格子不可通行;如果是 .,则该格子可通行且没有房子;如果是 @,则该格子可通行且包含一个房子。
最初,圣诞老人位于格子 。他将根据字符串 采取如下行动:
设 为字符串 的长度。对于 ,他按以下规则进行移动: 设他当前所在的格子为 。
- 若 是
U,且格子 可通行,则移动到格子 。 - 若 是
D,且格子 可通行,则移动到格子 。 - 若 是
L,且格子 可通行,则移动到格子 。 - 若 是
R,且格子 可通行,则移动到格子 。 - 否则,留在当前格子 。
请找出他完成所有行动后所在的格子,以及他在行动期间经过或到达的不同房子的数量。如果同一个房子被经过多次,只计算一次。
输入格式
第一行包含四个整数 。
接下来 行,每行包含一个长度为 的字符串。其中第 行的第 个字符 表示格子 的状态。
最后一行包含一个字符串 。
输出格式
设完成所有行动后他所在的格子为 ,以及他在行动期间经过或到达的不同房子的数量为 。请在一行中依次输出 ,相邻数字之间用一个空格隔开。
样例输入 1
5 5 3 4
#####
#...#
#.@.#
#..@#
#####
LLLDRUU
样例输出 1
2 3 1
样例输入 2
6 13 4 6
#############
#@@@@@@@@@@@#
#@@@@@@@@@@@#
#@@@@.@@@@@@#
#@@@@@@@@@@@#
#############
UURUURLRLUUDDURDURRR
样例输出 2
3 11 11
样例输入 3
12 35 7 10
###################################
#.................................#
#..........@......................#
#......@................@.........#
#.............##............@.....#
#...##........##....##............#
#...##........##....##.......##...#
#....##......##......##....##.....#
#....##......##......##..##.......#
#.....#######.........###.........#
#.................................#
###################################
LRURRRUUDDULUDUUDLRLRDRRLULRRUDLDRU
样例输出 3
4 14 1
说明
样例解释
在第一个样例中,圣诞老人的行动如下:

- ,所以他从 移动到 。经过了一个房子。
- ,所以他从 移动到 。
- ,但是格子 不可通行,所以他停留在 。
- ,所以他从 移动到 。
- ,所以他从 移动到 。
- ,所以他从 移动到 。经过了一个房子,但这间房子之前已经被经过了。
- ,所以他从 移动到 。
他在行动期间经过或到达的不同房子数量为 。
数据范围
- 对于所有测试点,保证 。
- 保证 ,。
- 保证 均是
#,.,@之一。 - 保证网格的四周边界完全是
#(即对于所有的 , 和 均为#;对于所有的 , 和 均为#)。 - 保证初始位置为空地,即
.。 - 保证 是一个长度在 到 之间,且仅包含
U,D,L,R的字符串。 - 保证所有的输入数值均为整数。