今天这个题目及其难。还好靠身边的丁冠宇大佬帮忙,最后还是把这道题给搞出来了!!!
这里给大家分享一下。希望能帮助到各位。
#include <iostream> #include <cstring> #include <algorithm> using namespace std; int main() { int x, y, len, len1, len2, limit, ans=0; string s1, s2; cin >> s1 >> s2; len1 = s1.size(); len2 = s2.size(); limit = min(len1, len2); s1 += s1; // 造环 s2 += s2; // 造环 for (int i=0; i<len1; i++){ for (int j=0; j<len2; j++){ len = 0; x = i; y = j; while (s1[x++]==s2[y++] && len<limit) len++; if (len > ans) ans = len; } } cout << ans << endl; return 0; }