比赛 “Asm.Def战记之太平洋”杯 评测结果 AAWWWWWWWW
题目名称 Asm.Def谈笑风生 最终得分 20
用户昵称 frontier 运行时间 1.803 s
代码语言 C++ 内存使用 0.28 MiB
提交时间 2015-11-02 11:43:33
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<set>
using namespace std;
set<string>t;
int uni(string s){
	int len=s.size();
	for(int i=0;i<len;i++)
	if(s[i]=='*')return i;
	return -1;
}
bool find(string s){
	int p=uni(s);
	if(p==-1)return t.find(s)!=t.end();
	for(int i=0;i<26;i++){
		s[p]=i+'A';
		if(t.find(s)!=t.end())return true;
	}
	return false;
}
int main(){
	freopen("asm_talk.in","r",stdin);
	freopen("asm_talk.out","w",stdout);
	int m,op;
	scanf("%d",&m);
	string c;
	while(m--){
		scanf("%d",&op);
		cin>>c;
		if(op==1)t.insert(c);
		else{
			if(find(c))printf("YES\n");
			else printf("NO\n");
		}
	}
	return 0;
}