AT_maximum_cup_2018_b 駆け抜けろ!埼大山車部!!
题目描述
在埼玉每年都会举办一次山车展示会。据说最美丽的山车会获得奖金,于是埼大君和他的朋友们决定参加展示会。
在前往会场的途中,邻镇的男人们骑在山车上来捣乱。现在山车右侧有 $a$ 人,左侧有 $b$ 人。
埼大君他们非常想要奖金,因此希望在到达会场前将所有男人都甩下去,以便展示出完美的山车。
在单位时间内,山车可以进行以下三种动作之一:
1. 向左转 $90$ 度后前进一格。
2. 向右转 $90$ 度后前进一格。
3. 不转向,直接前进一格。
通过第 1 种动作可以将右侧的一个人甩下去,通过第 2 种动作可以将左侧的一个人甩下去。
但是,为了避免不必要的转向,第 1 种动作最多只能执行 $a$ 次,第 2 种动作最多只能执行 $b$ 次,超过后不能再执行。
埼大君他们决定查看地图来规划路线。
地图的纵向长度为 $h$,横向长度为 $w$,可通行的地方用 $'.'$ 表示,不可通行的地方用 $'#'$ 表示。要经过的街道被划分为网格,地图上第 $i$ 行第 $j$ 列的格子记作 $c(i,j)$。
当前位置为 $c(2,2)$,会场为 $c(h-1,w-1)$。保证当前位置和会场都是 $'.'$。
地图的最外层全部被 $'#'$ 包围。从 $c(1,1)$ 到 $c(1,w)$ 所在的方向为北,埼大君他们初始面朝南。
请判断埼大君他们能否顺利参加展示会。
输入格式
输入通过标准输入给出,格式如下:
> $a$ $b$
> $h$ $w$
> $c(1,1)c(1,2)\ldots c(1,w)$
> $c(2,1)c(2,2)\ldots c(2,w)$
> $\vdots$
> $c(h,1)c(h,2)\ldots c(h,w)$
第一行给出右侧男人人数 $a$,左侧男人人数 $b$。
第二行给出地图的纵向长度 $h$,横向长度 $w$。
接下来 $h$ 行,每行一个长度为 $w$ 的字符串,表示地图。每个字符 $c(i,j)$ 为 $'.'$ 或 $'#'$,$'.'$ 表示可通行,$'#'$ 表示不可通行。
输出格式
如果埼大君他们能够顺利参加展示会,输出 Yes,否则输出 No。
说明/提示
### 限制条件
- $1 \leq a, b \leq 15$
- $3 \leq h, w \leq 15$
由 ChatGPT 4.1 翻译