#P16961. [SGU392] Cyclic Troubles
[SGU392] Cyclic Troubles
题目描述
Berland 国王收到了一款名叫 “Bercycles” 的单人游戏。
游戏在一个 的矩形网格上进行。每个格子中包含:
- 一个小写英文字母;
- 一个方向箭头,指向左、右、上、下四个方向之一。
玩家可以任选一个格子作为起点。每一步:
- 记录当前格子中的字母;
- 按照当前格子的箭头移动到相邻格子。
玩家可以在任意时刻主动停止。如果按照箭头走出了网格,则游戏自动结束,之后不能继续移动。
整个过程中记录下来的字母依次组成一个单词。
现在给出若干查询单词。对于每个单词,请判断是否存在一个起点,使得从该起点出发能够恰好读出这个单词。如果存在多个起点,需要输出行号最小的;若行号相同,再输出列号最小的。
由于单词可能非常长,输入采用压缩形式。压缩串中允许出现片段 (F)K,表示非空字母串 连续重复 次。括号不会嵌套,重复次数没有前导零。
例如:
a(xy)2y(ab)3abz
表示:
axyxyyababababz
输入格式
第一行包含两个整数 :
。
接下来 行,每行恰好包含 个字符,描述每个格子的箭头。字符属于 <、>、^、v。
再接下来 行,每行恰好包含 个小写英文字母,描述每个格子的字母。
然后输入一个整数 :
。
接下来 行,每行一个压缩后的查询串。
每个压缩串长度在 到 之间;解压后的实际长度不超过 。
输入保证所有压缩串格式合法,括号不嵌套,重复次数为正整数且没有前导零。
输出格式
对于每个查询输出一行。
如果能够读出该单词,输出:
YES (X,Y)
其中 为符合条件的最小起点:优先最小化 ,再最小化 。
如果不存在合法起点,输出:
NO
样例
2 4
>>>v
<^<<
abcd
efgh
6
abcdhgf
bcdhgf
(bcdhgf)100
a(bcdhgf)100bc
b(cdhgfbc)1d
hello
YES (1,1)
YES (1,2)
YES (1,2)
YES (1,1)
YES (1,2)
NO