#P1461. 玄武密码

    ID: 462 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>省选/NOI-AC自动机(ACAM)字符串字典树(Trie)数据结构

玄武密码

玄武密码

题目描述

在美丽的玄武湖畔,鸡鸣寺边,鸡笼山前,有一块富饶而秀美的土地,人们唤作进香河。相传一日,一缕紫气从天而至,只一瞬间便消失在了进香河中。老人们说,这是玄武神灵将天书藏匿在此。

很多年后,人们终于在进香河地区发现了带有玄武密码的文字。更加神奇的是,这份带有玄武密码的文字,与玄武湖南岸台城的结构有微妙的关联。于是,漫长的破译工作开始了。

经过分析,我们可以用东南西北四个方向来描述台城城砖的摆放,不妨用一个长度为 nn 的序列 ss 来描述,序列中的元素分别是 ESWN,代表了东南西北四向,我们称之为母串。而神秘的玄武密码是由四象的图案描述而成的 mm 段文字。这里的四象,分别是东之青龙,西之白虎,南之朱雀,北之玄武,对东南西北四向相对应。

现在,考古工作者遇到了一个难题。对于每一段文字 tt,求出其最长的前缀 pp,满足 ppss 的子串。

输入格式

第一行有两个整数,分别表示母串的长度 nn 和文字段的个数 mm

第二行有一个长度为 nn 的字符串,表示母串 ss

接下来 mm 行,每行一个字符串,表示一段带有玄武密码的文字 tt

数据范围

  • 对于 100%100\% 的数据,保证 1n1071 \leq n \leq 10^71m1051 \leq m \leq 10^51t1001 \leq |t| \leq 100s,ts, t 中均只含字母 E S W N

输出格式

对于每段文字,输出一行一个整数,表示最长的 pp 的长度。

样例 #1

样例输入 #1

7 3
SNNSSNS
NNSS
NNN
WSEE

样例输出 #1

4
2
0