• [B] 哦妈咪妈咪吼

  • 时间限制: 1000 ms 内存限制: 65535 K
  • 问题描述
  • 真是不幸,大奸商小白菜被人举报了,还没赚个盆满锅满就被查水表了。他被抓到了一个监狱里,这个监狱有点特别,四面墙都是由一条条(共n条)竖直的铁柱组成的,每根铁柱上都印有一条符咒,每条符咒都由字符串组成,读它要从下而上读,也就是说字是从下往上写的。小白菜早已听说这种监狱,于是准备试着逃走。他打算念q条咒语,如果蒙中了铁柱上的咒语,那这根铁柱就会被摧毁。除此以外还有如下的规矩:
    ①每次念的咒语只在当前有效,即上次念的跟这次念的完全无关。
    ②当念了一个字以后,要是铁柱上的符咒对上了,符咒就会开始燃烧一个字,继续念对继续烧,期间任意一个字没有匹配正在燃烧的符咒的话,没有对上的符咒就会停止燃烧并恢复原状。如果直到念完了符咒还在燃烧,那就代表有效,此铁柱被摧毁(不管此时烧到了哪)。现在他想试试运气,他假设了一些咒语,想请你帮忙检验每次念了以后能摧毁几根铁柱。题目已经更新,请参考样例数据。全匹配,但是念的长度更长是不能摧毁的,另:每次询问都只是一次'假设',故每次询问都是一次独立的匹配事件。
  • 输入
  • 有多组输入,每组第一行给定一个n(5 <= n <= 600),即为铁柱数量,接下来的n行分别代表每个符咒(1<= strlen <= 18),第n+2行给定一个q,代表设想的咒语个数,接下来跟q行,代表所设想的咒语(1 <= strlen <=6)。
  • 输出
  • 杜宇每组数据的每个询问q,给出一个答案,即为能够摧毁的铁柱的数量。
  • 样例输入
  • 3
    ab
    abc
    a
    3
    a
    ab
    abc
    1
    abc
    1
    abcd
    9
    abcbc
    abbb
    baaa
    acbabaabc
    bbaaacbaac
    bccbbcbaaa
    cbba
    cbaababbca
    aacabbbabc
    10
    aab
    cbb
    cacc
    bac
    cabc
    aaa
    aaab
    bac
    bacb
    abca
    
  • 样例输出
  • 3
    2
    1
    0
    0
    1
    0
    0
    0
    0
    0
    0
    0
    0
    
  • 提示
  • 来源
  • 小白菜
  • 操作

显示春菜