比赛 |
20150714B |
评测结果 |
AAAAAAAAAAAAW |
题目名称 |
加利福尼亚旅店 |
最终得分 |
92 |
用户昵称 |
NVIDIA |
运行时间 |
0.038 s |
代码语言 |
C++ |
内存使用 |
0.29 MiB |
提交时间 |
2015-07-14 10:41:09 |
显示代码纯文本
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<stdio.h>
#include<iostream>
#include<string>
using namespace std;
int find(string a,string b)
{
int i,j;
for(i=0;i<a.length();i++)
{
if(a[i]=='*')
{
if(i==a.length()-1)
return true;
string c=a.substr(i+1);
for(j=i;j<b.length();j++)
if(find(c,b.substr(j))) return 1;
}
else{
if(i>=b.length()) return 0;
if(a[i]=='?') continue;
if(a[i]!=b[i]) return 0;}
}return 1;
}
int main()
{
freopen("hotela.in","r",stdin);
freopen("hotela.out","w",stdout);
int ans;
string a,b;
while(cin>>a)
{
int k;
ans=0;
scanf("%d",&k);
while(k--)
{
cin>>b;
if(find(a,b)) ans+=1;
}
printf("%d\n",ans);
}
return 0;
}