if((huiwen(i,i+j))&&(j>maxlen)){这里,你干嘛不把for (int j=0;j<min(2002,lenxin-i);j++){这重循环改成for(int j=maxlen+1;j<tt;j++)
啊???
```cpp
#include <bits/stdc++.h>
using namespace std;
char yuan[20005],xin[20005],now[85];
int place[20005],wei,maxlen,sto,lenxin;
int lennow;
bool HW(int st,int ed)
{
lennow=ed-st+1;
int tt=st+lennow/2+1;
for(int i=st;i<tt;i++)
if(xin[i]!=xin[ed-i+st])return false;
return true;
}
int main()
{
int len;
while(cin.getline(now,82))
{
strcat(yuan,now);
strcat(yuan,"\n");
}
len=strlen(yuan);
for(int i=0;i<len;i++)
{
if(yuan[i]>='a'&&yuan[i]<='z')
{
xin[wei]=yuan[i];
place[wei]=i;
wei++;
}
if(yuan[i]>='A'&&yuan[i]<='Z')
{
xin[wei]=yuan[i]+32;
place[wei]=i;
wei++;
}
}
lenxin=strlen(xin);
for(int i=0;i<lenxin;i++)
{
int tt=min(2002,lenxin-i);
for(int j=maxlen+1;j<tt;j++)
{
if((HW(i,i+j)))
{
maxlen=j;
sto=i;
}
}
}
printf("%d\n",maxlen+1);
for(int i=place[sto];i<=place[sto+maxlen];i++)cout<<yuan[i];
printf("\n");
return 0;
}
```
代码
求关
by foryou922 @ 2023-09-26 20:04:49
@[foryou922](/user/648393)
谢谢大佬!已AC
by Logic_LiZidong @ 2023-09-28 08:29:40