思考
一开始我还以为是 LCS问题,最后读了读题目。才发现是一道字符串模拟题目,扫一遍前缀和后缀就ok了。
#include <cstdio> #include <cstring> #include <iostream> using namespace std; int n,m,MAX=-1; char s[233],t[233]; int dp[240][240]; int main(){ cin>>s>>t; int l = strlen(s); int r = strlen(t); int k = min(l,r); int tot=0; for(int i=0;i<k;i++){ int flag=1; int fuck=0; for(int j = r - i - 1; j < r;j++){ if(s[fuck++]!=t[j]) { flag = 0; break; } } if(flag) MAX = max(MAX,fuck); } for(int i=0;i<k;i++){ int flag=1; int fuck=0; for(int j = l - i - 1; j < l;j++){ if(t[fuck++]!=s[j]) { flag = 0; break; } } if(flag) MAX = max(MAX,fuck); } cout<<MAX; return 0; }
时间: 2024-10-31 18:25:51