100分 but Unaccepted 的代码。
评测信息:Subtask #3 1.20s/2.03MB TLE
#include<bits/stdc++.h>
using namespace std;
long long border(string k,int l){
if(l<=1)return 0;
for(int i=l-1;i>=0;i--){
if(k.substr(0,i)==k.substr(l-i,l))return i;
}
return 0;
}
signed main(){
string s1;
string s2;
cin>>s1>>s2;
int len1=s1.length();
int len2=s2.length();
for(int i=0;i<len1;i++){
if(s1.substr(i,len2)==s2)cout<<i+1<<endl;
}
//for(int i=1;i<=cnt;i++)cout<<x[i]+1<<endl;
for(int i=1;i<=len2;i++){
string k=s2.substr(0,i);
cout<<border(k,i)<<' ';
}
return 0;
}