简单的字符串匹配,直接暴力就可以了,具体看代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<cctype>
using namespace std;
const int N=100+10;
int main()
{
int k,n,sl,al;
string s,a,a0;
cin>>s;
sl=s.length();
cin>>k>>n;
if(!k) for(int i=0;i<sl;i++) s[i]=tolower(s[i]); //大小写不敏感,全部转化为小写
while(n--)
{
cin>>a;
al=a.length();
if(al<sl) continue;
a0=a;
if(!k) for(int i=0;i<al;i++) a0[i]=tolower(a[i]); //大小写不敏感,全部转化为小写
for(int i=0;i<=al-sl;i++) //匹配
{
int j=0;
for(;j<sl;j++)
if(a0[i+j]!=s[j]) break;
if(j==sl)
{
cout<<a<<endl;
break;
}
}
}
return 0;
}