d题求助
#include<bits/stdc++.h>
using namespace std;
int n,m,t,num[26][1000001];
int main()
{
cin>>t;
while(t--)
{
scanf("%d%d",&n,&m);
string s1,s2;
cin>>s1>>s2;
int k=1;
for(int j=0;j<n;j++)
{
if(s2[0]==s1[j]) num[0][k++]=j+1;
}
for(int i=1;i<m;i++)
{
k=1;
for(int j=0;j<n;j++)
{
if(s2[i]==s1[j]&&num[i-1][k]&&num[i-1][k]<j+1)
num[i][k++]=j+1;
}
}
printf("%d\n",k-1);
}
return 0;
}
wa。。。