记录编号 170566 评测结果 AAWAAAAAAWWWA
题目名称 加利福尼亚旅店 最终得分 69
用户昵称 Gravatarmikumikumi 是否通过 未通过
代码语言 C++ 运行时间 0.013 s
提交时间 2015-07-14 14:03:37 内存使用 0.31 MiB
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
char D[51],b[51];
int n;
int ans=0;
bool work(int x,int y)
{
	for(int i=x;i<strlen(D);i++)
	{
		if(D[i]=='*')
		{
			if(i==strlen(D)-1) return 1;
			for(int j=i;j<strlen(D);j++)
				if(work(i+1,j)==1) return 1;
		}
		else
		{
			if(i==strlen(D)-1&&y+i!=strlen(b)-1) return 0;
			if(D[i]=='?') continue;
			if(D[i]!=b[y+i]) return 0;
		}
	}
	return 1;
}
int main()
{
	freopen("hotela.in","r",stdin);
	freopen("hotela.out","w",stdout);
	while(scanf("%s",D)==true)
	{
		if((D[0]>='a'&&D[0]<='z')||D[0]=='?'||D[0]=='*')
		{
			//printf("%s\n",D);
			scanf("%d",&n);
			//printf("%d",n);
			ans=0;
			for(int i=1;i<=n;i++)
			{
				scanf("%s",b);
				//printf("%s\n",b);
				if(work(0,0)==1) ans++;
			}
			printf("%d\n",ans);
		}
		else break;
	}
	return 0;
}