#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <vector>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <functional>
#include <string>
#include <map>
#include <cctype>
using namespace std;
char key[30][30];
struct In
{
char str[100];
int num;
}li[30];
int main()
{
//freopen("in.txt","r",stdin);
int n,m;
char str[100];
int con=1;
while(scanf("%d %d",&n,&m)!=EOF)
{
for(int i=0;i<n;i++)
{
scanf("%s",key[i]);
}
getchar();
int maxn=-1;
for(int i=0;i<m;i++)
{
gets(str);
char tmp[100];
strcpy(tmp,str);
strcpy(li[i].str,str);
li[i].num=0;
int len=strlen(tmp);
for(int j=0;j<len;j++)
{
if('A'<=tmp[j]&&tmp[j]<='Z')
{
tmp[j]=tmp[j]+'a'-'A';
}
}
string t(tmp);
for(int j=0;j<n;j++)
{
int sat=0;
while(true)
{
sat=t.find(key[j],sat);
if(sat==-1)
break;
if(sat-1>=0)
if((tmp[sat-1]<'a'||tmp[sat-1]>'z')&&(tmp[sat+strlen(key[j])]<'a'||tmp[sat+strlen(key[j])]>'z'))
li[i].num++;
sat++;
}
}
if(maxn<li[i].num)
{
maxn=li[i].num;
}
}
printf("Excuse Set #%d\n",con++);
for(int i=0;i<m;i++)
{
if(maxn==li[i].num)
{
printf("%s\n",li[i].str);
}
}
printf("\n");
}
return 0 ;
}
ZOJ 1315 Excuses, Excuses!
最新推荐文章于 2021-09-16 11:19:49 发布