#YC350. 海上飞机迫降逃生
海上飞机迫降逃生
问题描述

有一个 行 列的网格。
网格中的每个单元格都是陆地或海洋,用长度为 的字符串 表示。设 表示网格中从顶部开始第 行、从左侧开始第 列的单元格,如果 的第 个字符为 . ,则 是陆地,如果字符为 # ,则 是海洋。
约束条件保证网格周边的所有单元格(即满足 中至少一个的单元格)都是海洋。
高桥的飞船在网格中的一个单元格上坠毁。之后,他按照长度为 的字符串 中的指令移动了 次。对于 , 的第 个字符描述了第 次移动的方向如下:
- L 表示向左移动一个单元格。也就是说,如果他在移动前在 ,移动后会在 。
- R 表示向右移动一个单元格。也就是说,如果他在移动前在 ,移动后会在 。
- U 表示向上移动一个单元格。也就是说,如果他在移动前在 ,移动后会在 。
- D 表示向下移动一个单元格。也就是说,如果他在移动前在 ,移动后会在 。
已知他路径上的所有单元格(包括他坠毁的单元格和他当前所在的单元格)都不是海洋。请输出可能是他当前位置的单元格数量。
约束条件
- 和 为整数。
- 是长度为 的字符串,由 L、R、U 和 D 组成。
- 是长度为 的字符串,由 . 和 # 组成。
- 至少有一个单元格可能是高桥的当前位置。
- 网格周边的所有单元格都是海洋。
输入
输入以以下格式从标准输入给出:
输出
一个整数,表示可能的方案数
样例
6 7 5
LULDR
#######
#...#.#
##...##
#.#...#
#...#.#
#######
2
13 16 9
ULURDLURD
################
##..##.#..####.#
###.#..#.....#.#
#..##..#####.###
#...#..#......##
###.##.#..#....#
##.#####....##.#
###.###.#.#.#..#
######.....##..#
#...#.#.######.#
##..###..#..#.##
#...#.#.#...#..#
################
6
Related
In following contests: