【c++基础】国王的魔镜

说明

国王有一个魔镜,可以把任何接触镜面的东西变成原来的两倍------只是,因为是镜子嘛,增加的那部分是反的。 比如一条项链,我们用AB来表示,不同的字母表示不同颜色的珍珠。如果把B端接触镜面的话,魔镜会把这条项链变为ABBA。如果再用一端接触的话,则会变成ABBAABBA(假定国王只用项链的某一端接触魔镜)。 给定最终的项链,请编写程序输出国王没使用魔镜之前,最初的项链可能的最小长度。

输入数据

只有一个字符串,由大写英文字母组成,表示最终的项链。

输出数据

只有一个整数,表示国王没使用魔镜前,最初的项链可能的最小长度。

题解

cpp 复制代码
# include <bits/stdc++.h>
using namespace std;
string a;
bool dc(string x)
{
    if (x.size()%2)
        return false;
    for (int u=0;u<x.size();u++)
        if (x[u]!=x[x.size()-u-1])
            return false;
    return true;
}
string yb(string x)
{
    string a;
    for (int u=x.size()/2;u<x.size();u++)
        a+=x[u];
    return a;
}
int mj(string x)
{
    if (!dc(x))
    return x.size();
    return mj(yb(x));
}
int main()
{
    cin>>a;
    cout<<mj(a);

    return 0;
}

题外话

【c++基础】高精度加法-CSDN博客文章浏览阅读953次,点赞29次,收藏22次。【c++基础】高精度加法输入两个高精度正整数a和b(a,b的位数https://blog.csdn.net/2301_79396857/article/details/135981240?spm=1001.2014.3001.5502【c++基础】高精度减法_c++1946: 【基础】高精度减法3-CSDN博客文章浏览阅读1.2k次,点赞28次,收藏9次。【c++基础】高精度减法输入两个高精度正整数a和b(a,b的位数_c++1946: 【基础】高精度减法3https://blog.csdn.net/2301_79396857/article/details/135989909?spm=1001.2014.3001.5502【c++基础】高精度乘法-CSDN博客文章浏览阅读1k次,点赞24次,收藏15次。【c++基础】高精度乘法输入两个高精度整数a和b(a,b位数https://blog.csdn.net/2301_79396857/article/details/136026655?spm=1001.2014.3001.5502【c++入门】均分纸牌(Noip2002)-CSDN博客文章浏览阅读1k次,点赞31次,收藏20次。【c++入门】均分纸牌(Noip2002)https://blog.csdn.net/2301_79396857/article/details/136072054?spm=1001.2014.3001.5502【c++入门】兔子繁殖(rabbit)-CSDN博客文章浏览阅读940次,点赞24次,收藏13次。【c++入门】兔子繁殖(rabbit)有一种兔子,出生后一个月就可以长大,然后再过一个月一对长大的兔子就可以生育一对小兔子且以后每个月都能生育一对。现在,我们有一对刚出生的这种兔子,那么,n 个月过后,我们会有多少对兔子呢?假设所有的兔子都不会死亡。https://blog.csdn.net/2301_79396857/article/details/136017636?spm=1001.2014.3001.5502

相关推荐
橘猫云计算机设计5 分钟前
基于springboot微信小程序的旅游攻略系统(源码+lw+部署文档+讲解),源码可白嫖!
java·spring boot·后端·微信小程序·毕业设计·旅游
Yeauty5 分钟前
Rust 中的高效视频处理:利用硬件加速应对高分辨率视频
开发语言·rust·ffmpeg·音视频·音频·视频
落榜程序员6 分钟前
Java 基础-30-单例设计模式:懒汉式与饿汉式
java·开发语言
顾林海7 分钟前
深度解析ArrayList工作原理
android·java·面试
雷渊8 分钟前
spring-IoC容器启动流程源码分析
java·后端·面试
划水哥~10 分钟前
创建QMainWindow菜单栏
开发语言·c++·qt
矿渣渣10 分钟前
int main(int argc, char **argv)C语言主函数参数解析
c语言·开发语言
用户33154891110713 分钟前
一招搞定Java线程池炸弹,系统吞吐量暴增10倍!
java·后端
阿让啊14 分钟前
bootloader+APP中,有些APP引脚无法正常使用?
c语言·开发语言·stm32·单片机·嵌入式硬件
努力的搬砖人.17 分钟前
maven如何使用
java·后端·面试·maven