一般网站建设流程有哪些步骤,互联网公司排名2022前100强,网站建设外包注意什么,微信里的小程序找不到了P1019 [NOIP2000 提高组] 单词接龙 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路来自 大佬 Chardo 的个人中心 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 匹配 #xff1a;
将 第一个字符串末尾 和第二个字符串第一个开始匹配
如果 ji这段走完了
flag还没…P1019 [NOIP2000 提高组] 单词接龙 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路来自 大佬 Chardo 的个人中心 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 匹配
将 第一个字符串末尾 和第二个字符串第一个开始匹配
如果 ji这段走完了
flag还没被修改 说明 已经存在重叠部分
可以连接
反之 如果匹配不成功
将 第一个字符串的指向往左移动一位 再和第二个串 开头字符看是否匹配
如果i3,j3说明有一段长度为3的串匹配成功了 可以返回长度3了 #includeiostream #includestring.h using namespace std; string str[20]; int use[20]; int n,ans; int clink(string x,string y){ for(int i1;imin(x.length() ,y.length());i ){ int flag1; for(int j0;ji;j){ if(x[x.length() -ij]!y[j]){ flag0; } } if(flag){ return i; } } return 0; } void slove(string nowstr ,int nowlen){ ansmax(ans,nowlen); for(int i0;in;i){ if(use[i]2){ continue; } int cclink(nowstr,str[i]); if(c0){ use[i]; slove(str[i],nowlenstr[i].length() -c); use[i]--; } } } int main(){ cinn; for(int i0;in;i){ cinstr[i]; } cinstr[n]; slove( str[n],1); coutans; return 0; }