ny495 少年 DXH
少年 DXH
- 描述
- 大家都知道,DXH 幼时性格怪癖,小朋友都不喜欢和他玩,这种情况一直到 DXH 的少年时期也没有改变。
 少年时期的 DXH 迷上了"回文串",“回文串”是指正着读倒着读都一样的字符串。DXH一个人的时候喜欢在地上随便写一个字符串 S,然后在这个字符串的右边添加尽量少的字符(可以不添加,就是 0 个),使得这个字符串变成“回文串”。但玩的时间长了,DXH 的手也酸了,聪明的你能帮他写一个程序,算出这个添加最少字符形成的回文串吗?
 一个字符串 S[1..L]被称为回文串,当且仅当 S[i] = S[L - i + 1] (1 <= i <= L)。
- 输入
- 第一行,一个 T (T <= 100),表示有 T 个字符串需要你判断
 之后 T 行,每行一个字符串 S。
 S 的长度|S|满足 1 <= |S| <= 50,且 S 只由小写字母'a' -'z'组成。
- 输出
- 对于每个字符串,输出一行,每行一个字符串 S', 是在 S 右侧添加最少的字符形成的回文串。
- 样例输入
- 
5 
 add
 cigartragic
 dxhisgirl
 acaba
 abczyxyz
- 样例输出
- 
adda 
 cigartragic
 dxhisgirlrigsihxd
 acabaca
 abczyxyzcba讲解:解决本题,要首先考虑前面是否有回文串的情况: 
- 代码如下:
#include<stdio.h> 
 #include<string.h>
 int main()
 {
 int x,t,i,n,min,max,k,a,b;
 char s[];
 scanf("%d",&t);
 getchar();
 while(t--)
 {
 k=;
 gets(s);
 x=strlen(s);n=x-;
 for(i=;i<x;i++)
 {
 if(s[i]==s[n])//先判断前面是否有回文串,有的话记录回文串开始的位置a
 {
 a=min=i;b=max=n;
 for(;max>=min;min++,max--)
 {
 if(s[min]==s[max])//如果是回文串则k=1;
 k=;
 else
 { k=;break;}//如果不是跳出本循环,寻找下一个,和末尾字符相同的字符,再次判断;
 }
 }
 if(k==) //如果满足条件,即跳出循环,并记录下起始位置,如果没有回文串
 break;
 }
 for(i=;i<x-;i++)
 printf("%c",s[i]);//先输出以前的字符串,最后一个不输出;在下面输出,因为只输出一个
 for(i=a;i>=;i--)
 printf("%c",s[i]);//然后从回文串的起始位置,倒序输出:
 puts("");
 }
 return ;
 }
ny495 少年 DXH的更多相关文章
- 少年 DXH
		少年 DXH 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描写叙述 大家都知道,DXH 幼时性格怪癖,小朋友都不喜欢和他玩,这样的情况一直到 DXH 的少年时期也没有改变. ... 
- 让我们一起写出更有效的CSharp代码吧,少年们!
		周末空闲,选读了一下一本很不错的C#语言使用的书,特此记载下便于对项目代码进行重构和优化时查看. Standing On Shoulders of Giants,附上思维导图,其中标记的颜色越深表示在 ... 
- 12岁的少年教你用Python做小游戏
		首页 资讯 文章 频道 资源 小组 相亲 登录 注册 首页 最新文章 经典回顾 开发 设计 IT技术 职场 业界 极客 创业 访谈 在国外 - 导航条 - 首页 最新文章 经典回顾 开发 ... 
- Java封装的与当前时间比较,得到多少年,多少月,多少天前,多少小时前,多小分钟前
		public class CalendarCal { /** * 与当前时间比较,得到多少年,多少月,多少天前,多少小时前,多小分钟前 * * @param calendar * ... 
- 胡na娜、少年和恩师-写在甲午冬的仅仅言片语及感想
		[写在全新为移动互联网而生的Zoomla!逐浪CMS2 x2.1公布前] 恩师, 他来到这个乡村中学,带着自己的书.吉它和理想, 用自己最好的三年青春浇灌了这一代人, 在我辍学时,给我鼓舞,帮助我继续 ... 
- 酒旗少年狂暖风,至0基本的前端开发project教师们学习计划
		酒旗风暖少年狂,为0基础前端开发project师做学习计划 夜幕降暂时.走到一张废弃已久的书桌前,打开台灯,看到书桌上已经布满灰尘,而桌上的那盆羸弱的文竹已经枝繁叶茂.我擦干净了桌面,坐了下来,把买回 ... 
- <花儿与少年>之一些很喜欢的台词收藏
		花儿与少年... ================= 作为一个普通观众,现在这样的花少冒险之旅很好,有旅行.有冒险.有不和.有理解,有时候节目为了效果要制造一些争锋相对的场面,但是除此之外,整个节目质 ... 
- 【zc】  php计算两个日期相隔多少年,多少月,多少日的函数
		/* *function:计算两个日期相隔多少年,多少月,多少天 *数据接受格式: '2014-12-03','2000-12-01'; *param string $date1[格式如:2011-1 ... 
- 少年,想学带修改主席树吗 | BZOJ1901 带修改区间第k小
		少年,想学带修改主席树吗 | BZOJ1901 带修改区间第k小 有一道题(BZOJ 1901)是这样的:n个数,m个询问,询问有两种:修改某个数/询问区间第k小. 不带修改的区间第k小用主席树很好写 ... 
随机推荐
- 转:Python 从FTP 下载数据的例子
			<hadoop权威指南>的天气数据可以在ftp://ftp3.ncdc.noaa.gov/pub/data/noaa下载,在网上看到这个数据好开心,打开ftp发现个问题,呀呀,这么多文件啊 ... 
- SQL Server表描述 及 字段描述的增、删、改、查询
			SQL Server表描述 及 字段描述的增.删.改.查询 --测试: --创建表及描述信息 ),isname )) --为表添加描述信息 EXECUTE sp_addextendedproperty ... 
- mysql-cluster 7.3.5-linux  安装
			[集群环境] 管理节点 10.0.0.19 数据节点 10.0.0.12 10.0.0.17 sql节点 10.0.0.18 10.0.0 ... 
- 一个简单的knockout.js 和easyui的绑定
			<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Basi ... 
- 6、javac命令详解
			javac [ options ] [ sourcefiles ] [ @files ] 参数可按任意次序排列. options 命令行选项. sourcefiles 一个或多个要编译的源文件(例如 ... 
- 从 高斯 到 正态分布 到 Z分布 到 t分布
			正态分布是如何被高斯推导出来的, 我感觉高斯更像是猜出了正态分布. 详见这篇文章:<正态分布的前世今生> http://songshuhui.NET/archives/76501 说一说理 ... 
- PHP基于Sphinx+Swcs中文分词的全文的检索
			简介 Sphinx是开源的搜索引擎,它支持英文的全文检索.所以如果单独搭建Sphinx,你就已经可以使用全文索引了 但是有些时候我们还要进行中文分词所有scws就出现了,我们也可以使用Coreseek ... 
- PHP-Ajax跨域解决方案
			1.先了解下Ajax跨域问题: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "ht ... 
- Android 应用开发者必看的 9 个 Tips
			去年,Android应用数量已经超过iOS成为全球最大的生态系统,不过在这多大百万的应用中,有些应用的下载量很大,赚的盆满钵满:另外一些应用就石沉大海.无人问津了. 拥有多年程序开发经验,最近在开发A ... 
- sleep()和usleep()的使用和区别
			在iOS中 如果 在主线程中用这2个 都会 对 主线程 造成 阻塞 具体区别 如下 Linux 中的 代码 为例 函数名: sleep头文件: #include <windows.h> ... 
