#P37. [KBC002D] String 1

[KBC002D] String 1

版权声明

本题版权归 Long Long OJ 所有。

题目描述

给定一个 22nn 列的字母矩阵 SS

请求出满足以下条件的位置个数:存在一条长度为 mm 且从该位置出发的路径(每次可以向上 / 下 / 左 / 右走一格,允许重复经过同一个格子),使得所经过的 mm 个格子上的字母依次T1,T2,,TmT_1,T_2,\ldots,T_m

答案对 10071007 取模。

约束条件

  • 1n20001\le n \le20001m20001\le m \le2000
  • 保证答案有解。

输入格式

N MN\ M

A1A2ANA_1A_2\cdots A_N

B1B2BNB_1B_2\cdots B_N

S1S2SMS_1S_2\cdots S_M

  • 第一行两个正整数 N,MN,M
  • 接下来 22 行为字符串 A,BA,B
  • 最后一行 MM 个字符,表示 SS

输出格式

合法位置的个数 mod 1007\bmod\ 1007

样例输入 1

4 4
LOVE
EVOL
LOVE

样例输出 1

4
  • 可能性 1:(1,1)(1,2)(1,3)(1,4)(1,1)\to(1,2)\to(1,3)\to(1,4)
  • 可能性 2:(1,1)(1,2)(2,2)(2,1)(1,1)\to(1,2)\to(2,2)\to(2,1)
  • 可能性 3:(2,4)(2,3)(2,2)(2,1)(2,4)\to(2,3)\to(2,2)\to(2,1)
  • 可能性 4:(2,4)(2,3)(1,3)(1,4)(2,4)\to(2,3)\to(1,3)\to(1,4)

样例输入 2

1 3 
Y
Y
YYY

样例输出 2

2
  • 可能性 1:(1,1)(1,2)(1,1)(1,1)\to(1,2)\to(1,1)
  • 可能性 2:(1,2)(1,1)(1,2)(1,2)\to(1,1)\to(1,2)