【玄关】喃喃求个助
  • 板块CF25E Test
  • 楼主WaterSky
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/5/29 13:27
  • 上次更新2024/5/29 16:48:07
查看原帖
【玄关】喃喃求个助
708963
WaterSky楼主2024/5/29 13:27

#7 WA:

xufuzdlsjxmevrtessfbwlnzzclcqwevnnucxyvhngnxhcbdfwq
wlwobhnmmgtfolfaeckbrnnglylydxtgtvrlmeeszoiuatzzzxufuzdlsjxmevrt
Brnnglylydxtgtvrlmeeszoiuatzzzx
#include<bits/stdc++.h>
using namespace std;
int nxt[1000005],n=3;
void kmp(string s)
{
	int l=s.size();
	s=' '+s,nxt[0]=nxt[1]=0;
	int j=0;
	for(int i=2;i<=l;i++)
	{
		while(j>0&&s[i]!=s[j+1]) j=nxt[j];
		if(s[i]==s[j+1])j++;
		nxt[i]=j;
	} 
}
string K[15],k[15],s,ans,Ans; 
int main(){
    ios::sync_with_stdio(false);
	for(int i=1;i<=n;i++)
		cin>>K[i],Ans+=K[i]+"Safayaeydf	rtgxfgtdsaAq bzfcjh .hb";
	for(int i=1;i<=6;i++)
	{
		for(int j=0;j<=1000000;j++)
			nxt[j]=0;
		if(i==1) k[1]=K[1],k[2]=K[2],k[3]=K[3];
		if(i==2) k[1]=K[1],k[2]=K[3],k[3]=K[2];
		if(i==3) k[1]=K[2],k[2]=K[1],k[3]=K[3];
		if(i==4) k[1]=K[2],k[2]=K[3],k[3]=K[1];
		if(i==5) k[1]=K[3],k[2]=K[2],k[3]=K[1];
		if(i==6) k[1]=K[3],k[2]=K[1],k[3]=K[2];
		ans=k[1];
		for(int i=2;i<=n;i++)
		{
			s=k[i];
			int l=min(s.size(),ans.size());	
			string ss=s+"asdfg/hvsdfxcsdffv vrfczdadavc Rdfc bjb;m-有(8呕iuytrewqfn ,nSMmstszifv ujkk8icvdcr8tfikjrtzs"+ans.substr(ans.size()-l,l);
			kmp(ss);
			for(int j=nxt[ss.size()];j<s.size();j++)
			ans+=s[j];
		}
		if(Ans.size()>ans.size())
		Ans=ans;
	}
	cout<<Ans.size();
	return 0;
} 
2024/5/29 13:27
加载中...