河南省第四届acm省赛 Substring
2016-05-10 10:10
239 查看
Substring
时间限制:1000 ms | 内存限制:65535 KB难度:1
描述
You are given a string input. You are to find the longest substring of input such that the reversal of the substring is also a substring of input. In case of a tie, return the string that occurs earliest in input.
Note well: The substring and its reversal may overlap partially or completely. The entire original string is itself a valid substring . The best we can do is find a one character substring, so we implement the tie-breaker rule of taking the earliest one first.
输入The first line of input gives a single integer, 1 ≤ N ≤ 10, the number of test cases. Then follow, for each test case, a line containing between 1 and 50 characters, inclusive. Each character of input will be an uppercase
letter ('A'-'Z').
输出Output for each test case the longest substring of input such that the reversal of the substring is also a substring of input
样例输入
3 ABCABA XYZ XCVCX
样例输出
ABA X XCVCX
来源第四届河南省程序设计大赛
上传者
张云聪
题意:
找出最早出现一个最长子串反过来也是该字符串的子串
#include <cstdio>
#include <cstring>
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
char str[100];
char a[100],a1[100], a2[100];
int maxv = -2;
//getchar();
scanf("%s",str);
int len,j,k,i;
int p;
len=strlen(str);
for( k = 0; k < len; k++)
{
for( i = 1; i <= len - k; i++)//子串的开始位置
{
p=0;
for(j = k; j < k + i; j++)//把字符串赋值给a数组
{
a[p]=str[j];
// printf("%c",a[p]);
p++;
}
//printf("\n");
for(j = 0 ; j < p ; j++)//将字符串逆过来
{
a1[j] = a[p-1-j];
}
int s = 0, s1 = 0;
for(j = 0 ; j < len ; j++)//判断该子串是否在原字串内
{
if(s == p)//说明匹配完成。
break;
if(str[j] == a1[s1])
{
s++;
s1++;
}
else
{
s = 0;
s1 = 0;
}
}
if(s == p)
{
if(maxv < p)//将其记录下来
{
maxv = p;
for(j=0;j<maxv;j++)
{
a2[j]=a[j];
}
}
}
}
}
for(i=0;i<maxv;i++)
printf("%c",a2[i]);
printf("\n");
}
return 0;
}
相关文章推荐
- 7.1.3 逻辑错误
- HDFS文件上传,命令行模式执行WordCount自带实例
- python3 一个点球小游戏 学习random模块
- 按钮的contentMode一般用在有图片的按钮
- android笔记--保存和恢复activity的状态数据
- form表单提交路径action="" 时的一种特殊情况
- 开源连接池_dbcp_c3p0_tomcat内置连接池
- java 折半查找 冒泡排序 选择排序
- 6、Struts2中的国际化、Ognl(对象图导航语言)表达式语言
- Elasticsearch源码分析一--调用Lucene查询接口之match_all查询
- 求mat的连通域,并只显示最大轮廓的连通域
- openstack-Swift中ring的通俗理解
- setNeedsDisplay setNeedsLayout
- 取出字符串的最后一个字符
- AngularJS 的表单验证
- Halcon与opencv格式的转换
- 企业如何选择最佳的SSL
- 使用hibernate tools插件生成POJO
- 7.1.2 运行错误
- 简单内交联与外交联总结