nyoj-132-最长回文子串
来源:互联网 发布:Sql日期转换 编辑:程序博客网 时间:2024/06/04 19:53
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<ctype.h>
char a[5010],c[5010];
int b[5010];
int main()
{
int s;
scanf("%d",&s);getchar();
while(s--)
{
int max,i,j,t1,t2,len;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
gets(a);
len=strlen(a);
j=0;
for(i=0;i<len;i++)
if(isalpha(a[i]))
{
c[j]=tolower(a[i]);
b[j++]=i;
}
len=j;
max=0;
for(i=0;i<len;i++)
{
for(j=0;i-j>=0&&i+j<len;j++)
{
if(c[i-j]!=c[i+j])
break;
else
{
if(2*j+1>max)
{
max=2*j+1;
t1=i-j;
t2=i+j;
}
}
}
for(j=0;i-j>=0&&i+j<len;j++)
{
if(c[i-j]!=c[i+j+1])
break;
else
{
if(2*j+2>max)
{
max=2*j+2;
t1=i-j;
t2=i+j+1;
}
}
}
}
for(i=b[t1];i<=b[t2];i++)
putchar(a[i]);
printf("\n");
}
return 0;
}
#include<string.h>
#include<stdlib.h>
#include<ctype.h>
char a[5010],c[5010];
int b[5010];
int main()
{
int s;
scanf("%d",&s);getchar();
while(s--)
{
int max,i,j,t1,t2,len;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
gets(a);
len=strlen(a);
j=0;
for(i=0;i<len;i++)
if(isalpha(a[i]))
{
c[j]=tolower(a[i]);
b[j++]=i;
}
len=j;
max=0;
for(i=0;i<len;i++)
{
for(j=0;i-j>=0&&i+j<len;j++)
{
if(c[i-j]!=c[i+j])
break;
else
{
if(2*j+1>max)
{
max=2*j+1;
t1=i-j;
t2=i+j;
}
}
}
for(j=0;i-j>=0&&i+j<len;j++)
{
if(c[i-j]!=c[i+j+1])
break;
else
{
if(2*j+2>max)
{
max=2*j+2;
t1=i-j;
t2=i+j+1;
}
}
}
}
for(i=b[t1];i<=b[t2];i++)
putchar(a[i]);
printf("\n");
}
return 0;
}
- nyoj-132-最长回文子串
- nyoj 132-最长回文子串
- nyoj 132 最长回文子串
- NYOJ - 最长回文子串
- NSWOJ 1228 && NYOJ 132 最长回文子串
- NYOJ-132-最长回文子串-2013年08月12日21:49:03
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 恢复 git reset -hard 的误操作
- HDU 1054Strategic Game 贪心
- Java递归删除树结构数据
- VC多线程详解
- iOS如何判断当前网络的运营商
- nyoj-132-最长回文子串
- 网络安全那点事
- 如何在html嵌入applet
- 数据结构(C语言描述)读书笔记之稀疏矩阵
- jquery 数据分批加载 asp.net
- Java入门<一>---> JAVA开发准备工作
- HDU-4618-Palindrome Sub-Array
- 3.Discuzx2.5模板的基础
- 【discuz】G变量注解之 $_G['member'] 全局当前登录者信息