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 翻译