回文串的问题
我们说一个字符串是回文串,那么意味着这个串从两边读起来的字母都是一样的.例如racecar是回文串,
然而fastcar则不是.
对一个串的划分意思是将一个串划分为若干个部分.例如,racecar可以划分为race 和car两部分.给出
一个串,要把这个串划分为若干个回文串,那么至少要把这个串划分为多少部分?
例如
'racecar'已经是回文串,划分为1 个部分即可(这个部分就是racecar).
'fastcar' 需要被划分为七个部分 ('f','a','s','t','c','a','r').根据回文串的定义,单个字母也是回文串.
'aaadbccb' 分成可以被分为三个回文串 ('aaa','d','bccb').找不到更少的划分方法.
Input
输入的第一行是数字T,表示输入文件含有T个CASE.之后有T行,每行有一个长度不大于1000的字
符串,全部由小写字母组成,中间没有空格.
Output
对于每个CASE,输出一个数字,表示对该字符串的回文串最小划分.
人气:327 ℃ 时间:2020-09-16 05:50:17
解答
对input部分:input可以用char 类型的二维数组存储.这里可以用new操作符申请空间,因为输入的T未知.对程序整体部分:定义函数cal_num(char * case, int start, int end)来求解每行的回文数的大小,这样主程序只需要调...
推荐
猜你喜欢
- 当我们感到事情头绪很多,纷繁复杂时用什么成语;当兵马众多时用什么成语
- 有一个底面半径10厘米的圆柱形木料,沿着底面平行锯成三段,表面积增加了()平方厘米
- 把5米长的铁丝平均分成8段,每段占全长的_,每段的长度是_米,3段占全长的_%.
- 修一条路已经修了全长的5/7少8米,剩下的是已修的2/3,全长多少米
- 一面三角形的小旗,它是一个直角三角形,三条边的长度分别是8分之5分米,5分之4分米,25分之18分米.
- 现在进行时和过去进行时什么区别啊
- (a-b )2n·(b-a)·(b-a)3等于多少
- 已知.角ACB=角A‘B’C‘=90度CD垂直AB,C1D1垂直A‘B’且CD比C’D‘=AC比A’C‘.求证三角形ABC相似三角形