【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

相关推荐
独好紫罗兰10 分钟前
洛谷题单2-P5712 【深基3.例4】Apples-python-流程图重构
开发语言·python·算法
东方佑26 分钟前
深度解析Python-PPTX库:逐层解析PPT内容与实战技巧
开发语言·python·powerpoint
水w37 分钟前
【Android Studio】如何卸载干净(详细步骤)
android·开发语言·android studio·activity
weixin_3077791337 分钟前
判断HiveQL语句为建表语句的识别函数
开发语言·数据仓库·hive·c#
雷渊39 分钟前
深入分析mybatis中#{}和${}的区别
java·后端·面试
一顿操作猛如虎,啥也不是!42 分钟前
JAVA-Spring Boot多线程
开发语言·python
亦是远方1 小时前
2025华为软件精英挑战赛2600w思路分享
android·java·华为
v维焓1 小时前
C++(思维导图更新)
开发语言·c++·算法
jiet_h1 小时前
深入解析KSP(Kotlin Symbol Processing):现代Android开发的新利器
android·开发语言·kotlin
_未知_开摆1 小时前
uniapp APP端在线升级(简版)
开发语言·前端·javascript·vue.js·uni-app