#260. 单词

单词

问题描述

在神秘的埃尔多利亚王国,古代符文隐藏了通往智者宝藏的线索。据说,这些宝藏蕴含着无尽的智慧与力量,它们藏在一个魔法字母网格中。每个网格上刻着一个字母,而发现宝藏的关键是破解这些字母中隐藏的秘密单词。

单词可能以两种魔法模式之一出现:

  1. 单词的字母完全沿一条直线排列(水平、垂直或对角线)。
  2. 单词的字母沿一条直线排列,然后在直角转弯处继续沿另一条直线排列。

你的任务是找出网格中这个秘密单词出现的次数,并记住,埃尔多利亚的魔法允许一个字母多次使用。

输入格式

第一行输入一个由不同大写字母组成的字符串 W,表示你要在网格中查找的秘密单词。W 的长度至少为 2。

第二行输入一个整数 R,表示网格的行数。第三行输入一个整数 C,表示网格的列数。

接下来的 R 行描述网格,每行包含 C 个大写字母,字母之间以空格分隔。

输出格式

输出一个非负整数 H,表示网格中按照上述模式隐藏的单词次数。

样例

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
3

样例解释#1

单词 MENU 在网格中隐藏了三次。一次水平方向,一次垂直方向,一次对角线方向,如图所示。

说明

注意,一个字母可以被多次使用。

数据范围

  • 对于所有数据 1R,C1001 \leq R, C \leq 100, 2W62 \leq |W| \leq 6,其中W|W|表示单词长度。