SSL JudgeOnline 2244——国王的魔镜
2016-12-03 08:34
197 查看
Description
国王有一个魔镜,可以把任何接触镜面的东西变成原来的两倍——只是,因为是镜子嘛,增加的那部分是反的。比如一条项链,我们用AB来表示,不同的字母表示不同颜色的珍珠。如果把B端接触镜面的话,魔镜会把这条项链变为ABBA。如果再用一端接触的话,则会变成ABBAABBA(假定国王只用项链的某一端接触魔镜)。
给定最终的项链,请编写程序输出国王没使用魔镜之前,最初的项链可能的最小长度。
Input
文件名:MAGIC.IN
文件中只有一个字符串,由大写英文字母组成,表示最终的项链。
Output
文件名:MAGIC.OUT
文件中只有一个整数,表示国王没使用魔镜前,最初的项链可能的最小长度。
Sample Input
ABBAABBA
Sample Output
2
此题不难
我们先将项链读进来,我们一次一次将这项链分为两半,直到不可以分为止(t mod 2<>0)。最后将长度输出来。
只要我们找到思路 就不难 做出来
代码如下
var x,s,y:ansistring; t,i:longint; begin read(x); t:=length(x); if t mod 2=0 then begin repeat if t mod 2=0 then begin s:=copy(x,1,t div 2); y:=''; for i:=length(x) downto t div 2+1 do y:=y+x[i]; if y=s then begin t:=t div 2; x:=copy(x,1,t); end else begin write(t); exit; end; end; until t mod 2 4000 <>0; write(t); exit; end; write(t); end.
相关文章推荐
- SSL JudgeOnline 2253——新型计算器
- SSL JudgeOnline 1786——麻将游戏
- SSL JudgeOnline 2322——运输
- SSL JudgeOnline 1015——一元三次方程求解
- SSL JudgeOnline 1357——有重复元素的全排列
- SSL JudgeOnline 1069——比赛安排
- SSL JudgeOnline 1668——小车载人问题
- 加法最大【SSL JudgeOnline 1595】
- SSL JudgeOnline 1868——谁是组长
- SSL JudgeOnline 1455——电子老鼠闯迷宫
- 乘积最大【SSL JudgeOnline 1007】
- SSL JudgeOnline 1296——x^n次幂
- SSL JudgeOnline 2278——Oliver的救援
- SSL JudgeOnline 1082——导弹拦截
- SSL JudgeOnline 1457——翻币问题
- 打包 【SSL JudgeOnline 2294】
- SSL JudgeOnline 2277——最少转弯问题
- 砝码称重 【SSL JudgeOnline 1072】
- SSL JudgeOnline 1198——求逆序对数
- SSL JudgeOnline 1194——最佳乘车