1 /* 2 题目大意: 3 输入一串长度不超100字符串 ,计算最长重复序列的长度 4 思路:暴力即可 5 */ 6 #include <iostream> 7 #include<cmath> 8 #include<cstring> 9 #include<cstdio> 10 //#define LOCAL 11 using namespace std; 12 13 int main() 14 { 15 #ifdef LOCAL 16 freopen("input.txt","r",stdin); 17 freopen("output.txt","w",stdout); 18 19 #endif 20 char s[105]; 21 while(cin >> s) 22 { 23 int len = strlen(s); 24 int step = 0; int maxx = 0; 25 // 遍历字符串,心委的代码真心赞,仅使用两层循环 26 for(int i=0; i<len; i++) 27 { 28 for(int j=i+1; j<len; j++) 29 { 30 step=0; 31 if(s[i]==s[j]) 32 { 33 while(s[i+step] == s[j+step]) step++; 34 if(step > maxx)maxx=step; // 更新子序列长度 35 } 36 } 37 } 38 cout<<maxx; 39 } 40 41 return 0; 42 }