显示代码纯文本
#include<fstream>
#include<cstring>
#include<map>
using namespace std;
ifstream cin("asm_talk.in");
ofstream cout("asm_talk.out");
string a;
int p,n,i,j;
map<string,int> s;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>p>>a;
if(p==1)
{
s[a]=1;
for(j=0;j<a.length();j++)
{
if(a[j]=='*')
{
for(int k=0;k<26;k++)
{
a[j]=char('a'+k);
s[a]=1;
}
break;
}
}
}
if(p==2)
{
for(j=0;j<a.length();j++)
{
if(a[j]=='*')
{
for(int k=0;k<26;k++)
{
a[j]=char('a'+k);
if(s[a]==1)
{
cout<<"YES"<<endl;
break;
}
if(k==25)cout<<"NO"<<endl;
}
break;
}
if(j==a.length()-1)
{
if(s[a]==1)cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
}
}
}
cin.close();
cout.close();
return 0;
}