#2841. 小班的玩具零件检测挑战

小班的玩具零件检测挑战

题目描述

幼儿园要举办玩具嘉年华,小班负责检查玩具零件的合格情况。这些玩具零件上都印有专属的 “特征码”,特征码由 A、C、T、G 四种字母组成。 为了确保玩具质量,老师制定了 “合格特征模板”,模板除了包含 A、C、T、G 四种字母,还允许出现两种通配符: *:可以匹配任意长度的字母序列(包括没有字母); ?:可以匹配任意一个字母。 如果一个玩具零件的特征码能和 “合格特征模板” 匹配,说明这个零件是合格的;反之则是不合格零件,需要单独挑出来更换。 现在小班收到了一批玩具零件,每个零件都有对应的特征码。请你帮小班统计一下,这批零件中不合格的数量有多少。

输入格式

第一行有一个字符串,由 A、C、T、G、*、? 组成,表示 “合格特征模板”。“合格特征模板” 的长度不超过 1000。 第二行有一个整数 N,表示收到的玩具零件数目。 随后的 N 行,每一行有一个字符串,由 A、C、T、G 组成,表示一个玩具零件的特征码。

输出格式

只有一行输出,为整数 K,即不合格的玩具零件的数目。

输入输出样例 #1

#输入 #1


A*G?C
3
AGTC
AGTGTC
AGTGC

#输出 #1


1

说明/提示

输入中的玩具零件特征码 AGTGC 无法与 “合格特征模板” A*G?C 匹配,是不合格零件,因此不合格数量为 1。

对于所有数据,0<N<5000 < N < 500

特别的:

  • 每个玩具零件的特征码长度不超过 500;
  • “合格特征模板” 和玩具零件的特征码长度都至少为 1