#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int inf=0x3f3f3f3f;
const int maxn=1000010;
int getlen(string a,string b){
int i;
for(i=0;i<a.size()&&i<b.size();i++){
if(a[i]!=b[i]) break;
}
return i;
}
int main(){
string a;
cin>>a;
int len=a.size();
string s[len];
for(int i=0;i<len;i++){
s[i]=a.substr(i);
}
sort(s,s+len);
int l,num=0;
string ans;
for(int i=0;i<len-1;i++){
l=getlen(s[i],s[i+1]);
if(l>num){
num=l;
ans=s[i].substr(0,num);
}
}
cout<<a<<endl;
if(num) cout<<ans<<endl;
else cout<<"NULL"<<endl;
return 0;
}
求最长重复真子串 (20 分)
最新推荐文章于 2022-05-09 14:33:21 发布