通过find在字符串的指定位置开始查找,在字符串t中一个字符一个字符的寻找可爱子序列,每次找到后改变find字符串t的位置,直到找全一个可爱子序列,可爱值+1,再接着遍历一下可以可爱子序列。
#pragma GCC optimize(2)
#include <bits/stdc++.h>
#define ll long long
#define endl '\n'
using namespace std;
string t[1010],r[105];
int n,m;
int main()
{
ios::sync_with_stdio(0);cin.tie(0), cout.tie(0);
cin>>n>>m;
for(int i=0;i<n;i++)cin>>t[i];
for(int i=0;i<m;i++)cin>>r[i];
for(int i=0;i<n;i++)
{
int ans=0;
for(int j=0;j<m;j++)
{
int cnt=0,pos=-1;
for(int k=0;k<r[j].size();k++)
{
if((pos=t[i].find(r[j][k],pos+1))!=-1)
cnt++;
if(cnt==r[j].size()){
ans++;break;
}
}
}
cout<<ans<<endl;
}
return 0;
}
京公网安备 11010502036488号