兔子的名字 dp子序列

兔子的名字

https://ac.nowcoder.com/acm/problem/20859

通过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;
}
全部评论

相关推荐

评论
3
收藏
分享
牛客网
牛客企业服务