#include <bits/stdc++.h>
using namespace std;
const int N = 1e6+10;
typedef long long ll;
int n;
string s[N];
int id[N];
void solve()
{
string text;
cin>>text;
cin>>n;
queue<int>e[27];
for(int i=1;i<=n;i++)
{
cin>>s[i];
e[s[i][0]-'a'].push(i);
}
int sz = text.size();
for(int i=0;i<sz;i++)
{
int c = text[i]-'a';
if(!e[c].empty())
{
int sz2 = e[c].size();
for(int i=0;i<sz2;i++)
{
int curid = e[c].front();
e[c].pop();
id[curid]++;
int sz3 = s[curid].size();
if(id[curid]<sz3)e[s[curid][id[curid]]-'a'].push(curid);
}
}
}
for(int i=1;i<=n;i++)
{
int sz2 = s[i].size();
if(id[i]==sz2)cout<<"Yes"<<'\n';
else cout<<"No\n";
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
solve();
return 0;
}
模拟即可,差点以为是ac自动机板子了

京公网安备 11010502036488号