题目描述
在单词搜寻中,单词隐藏在字母网格中。隐藏单词的字母总是按顺序出现在水平、垂直或对角线线段上。
一种方法是让单词的字母出现在一个线段上。另一种方式是单词的字母出现在一个线段上,直到某个字母,然后出现在第二行在这个字母处形成直角的线段。
给定一个字母网格和一个单词来搜索,你的任务就是确定该特定单词被隐藏在网格中的次数。
输入格式
第一行输入将包含一个由不同大写字母组成的字符串W,表示要在网格中搜索的单词。W的长度至少为2。
第二行输入将是一个整数R(1<=R<=100),其中R是网格中的行数。
第三行输入将是一个整数C(1<=C<=100),其中C是网格中的列数。
剩下的输入将提供网格中的字母。它将由R行组成,其中每行包含由单个空格分隔的C大写字母。
输出格式
输出将由一个非负整数H组成,表示单词在网格中隐藏的次数。
样例数据1
input
MENU
5
7
F T R U B L K
P M N A X C U
A E R C N E O
M N E U A R M
M U N E M N S
output
3
样例1解释
单词MENU在网格中隐藏了三次。如图所示,一次水平,一次垂直,一次对角。
请注意,单个字母可以多次使用。
样例数据2
input
NATURE
6
9
N A T S F E G Q N
S A I B M R H F A
C F T J C U C L T
K B H U P T A N U
D P R R R J D I R
I E E K M E G B E
output
4
样例2解释
NATURE这个词在网格中隐藏了四次。一次是对角的,一次是垂直的,两次是在垂直线段上。