先看:
#include<bits/stdc++.h>
using namespace std;
long long n,m,ans,arr[300005],index1;
string a,b;
int main(){
cin>>n>>m>>a>>b;
for(long long i=0;i<=m-n;i++){
bool flag=1;
for(long long j=i,k=0;j<i+n;j++,k++){
if(a[k]=='*'||b[j]=='*'||a[k]==b[j])continue;
if(a[k]!=b[j]){
flag=0;break;
}
}
if(flag){ans++,arr[++index1]=i;}
}
cout<<ans<<endl;
for(long long i=1;i<=index1;i++)cout<<arr[i]+1<<' ';
}
这个暴力代码可以80!!!
我觉得。。如果在加上更多的剪枝,应该可以A!!!
求建议!!!