AT_past17_g 蛇行する文字列

题目描述

给定一个包含 $H$ 行 $W$ 列的网格。我们用 $(i, j)$ 表示从上到下第 $i$ 行、从左到右第 $j$ 列的格子。 每个格子上写着一个小写英文字母。$(i, j)$ 格子上的字母记为 $G_{i, j}$。 现在给定一个长度为 $N$ 的字符串 $S$。请判断是否存在一组格子序列 $(a_1, b_1)$, $(a_2, b_2)$, $\dots$, $(a_N, b_N)$,满足下列所有条件?若存在,输出 `Yes`,否则输出 `No`。 - $(a_1, b_1)$, $(a_2, b_2)$, $\dots$, $(a_N, b_N)$ 互不相同。 - 对任意 $i$,$(a_i, b_i)$ 和 $(a_{i+1}, b_{i+1})$ 在八个方向上相邻。换言之,$\max(\vert a_i - a_{i+1} \vert, \vert b_i - b_{i+1} \vert) = 1$。 - $(a_i, b_i)$ 上的字母等于 $S$ 的第 $i$ 个字符。

输入格式

输入按以下格式从标准输入读入: > $H$ $W$ > $G_{1,1}G_{1,2}\dots G_{1,W}$ > $G_{2,1}G_{2,2}\dots G_{2,W}$ > $\vdots$ > $G_{H,1}G_{H,2}\dots G_{H,W}$ > $N$ > $S$

输出格式

如果存在一组符合要求的格子序列,输出 `Yes`;否则输出 `No`。

说明/提示

### 样例解释 1 格子序列 $(2, 1), (3, 2), (2, 3), (1, 2), (1, 1)$ 满足所有题目要求,所以答案为 `Yes`。 ### 数据范围 - $1 \leq H, W \leq 10$ - $G_{i, j}$ 是小写英文字母。 - $1 \leq N \leq 5$ - $S$ 是一个长度为 $N$ 的仅由小写英文字母组成的字符串。 由 ChatGPT 5 翻译