P6727 [COCI 2015/2016 #5] OOP

题目描述

给定 $N$ 个单词和 $Q$ 个模板,一个模板由一个 `*` 和一些小写字母组成。一个模板覆盖了一个单词当且仅当将 `*` 替换为某个字符串(**可以为空**)后,模板和单词能够完全重合。对于每个模板,求出它能够覆盖多少个单词。

输入格式

输入第一行两个整数 $N,Q$。 接下来的 $N$ 行,每行一个小写字母组成的单词。 接下来的 $Q$ 行,每行一个模板。 以上读入的字符总数少于 $3\times 10^6$。

输出格式

输出共 $Q$ 行。表示每个模板能够覆盖的单词的个数。

说明/提示

#### 数据规模与约定 对于 $40\%$ 的数据,$1\le N,Q\le 10^3$; 对于 $100\%$ 的数据,$1\le N,Q\le 10^5$。 #### 说明 **题目译自 [COCI2015-2016](https://hsin.hr/coci/archive/2015_2016/) [CONTEST #5](https://hsin.hr/coci/archive/2015_2016/contest5_tasks.pdf) *T5 OOP***。