比赛 “Asm.Def战记之太平洋”杯 评测结果 AAAAAAAATT
题目名称 Asm.Def谈笑风生 最终得分 80
用户昵称 sxysxy 运行时间 4.114 s
代码语言 C++ 内存使用 0.28 MiB
提交时间 2015-11-02 09:14:42
显示代码纯文本
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <vector>
#include <cstring>
#include <string>
#include <deque>

using namespace std;

class AutoMechine
{
public:
	string pt;
	int ptlen;
	AutoMechine(const char *str,int l)
	{
		pt = str;
		ptlen = l;
	}
	
	bool match(const char *o,int len)
	{
		if(len != ptlen)return false;
		for(int i = 0; i < len; i++)
		{
			if(o[i] != pt[i])
			{
				if(o[i] == '*')
				continue;
				return false;
			}
		}
		return true;
	}
};

vector<AutoMechine> mmm;

int main()
{
	freopen("asm_talk.in", "r", stdin);
	freopen("asm_talk.out", "w", stdout);
	int q;
	int op;
	bool r;
	int i;
	int j = 0;
	char ss[22];
	scanf("%d", &q);
	while(q--)
	{
		r = false;
		scanf("%d %s", &op, ss);
		if(op == 1)
		{
			mmm.push_back(AutoMechine(ss,strlen(ss)));
			j++;
		}else
		{
			for(i = 0; i < j; i++)
			{
				r = (mmm[i].match(ss,strlen(ss)));
				if(r)break;
			}
			if(r)printf("YES\n");
			else printf("NO\n");
		}
	}
	return 0;
}