1829: [NewOJ Week 8] 最短缺失子序列

内存限制:1024 MB 时间限制:5 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:112 通过:27

题目描述

字符串t是字符串s的子序列:字符串s删除0个或者多个字符可以变成字符t。
注意:t是s的子序列,t在s中不一定是连续的,只要t中的字符出现的顺序与s相同即可。
例如s="abcd",t="ad",此时t是s的子序列。
字符串t是字符串s的缺失子序列:字符串t不是字符串s的子序列,但是字符串s和t中出现的字母,均在集合v中出现过(题目存在修改)
例如s="abcd",t="bac",此时t是s的缺失子序列。
字符串t是字符串s的最短缺失子序列:字符串t是字符串s的缺失子序列,同时长度是最短的。
例如s="abcd",t="aa",此时t是s的最短缺失子序列,"ba"也是s的最短缺失子序列。
现在给定字符串s,询问m次,每次询问一个字符串t是否为s的最短缺失子序列。

输入格式

第一行为给定的小写字母字符集v,长度为[1,26],每个字符仅出现一次。
之后所有输入的字符串中的字母均属于v。
第二行为字符串s,1≤|s|≤1000000。
第三行为正整数m,表示询问次数,,1≤m≤1000000
接下来m行,每行一个字符串t,表示每次的询问字符串,,1≤|t|≤1000000。
输入保证所有询问字符串长度之和不超过1000000.

输出格式

对于每次询问,如果字符串t是字符串s的最短缺失子序列,则输出1,否则输出0。

输入样例 复制

abc
abcccabac
3
cbb
cbba
cba

输出样例 复制

1
0
0