【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

相关推荐
Cx330❀10 分钟前
【数据结构初阶】--排序(四):归并排序
c语言·开发语言·数据结构·算法·排序算法
云间月131415 分钟前
飞算JavaAI智慧文旅场景实践:从景区管理到游客服务的全链路系统搭建
java·开发语言
盖世英雄酱5813615 分钟前
必须掌握的【InheritableThreadLocal】
java·后端
找不到、了21 分钟前
JVM的逃逸分析深入学习
java·jvm
杜子不疼.33 分钟前
《Python学习之使用标准库:从入门到实战》
开发语言·python·学习
用户03321266636735 分钟前
Java 查找并替换 PDF 中的文本:高效自动化处理指南
java
意疏37 分钟前
【C语言篇】srand函数的详细用法解析
c语言·开发语言
叽哥1 小时前
Kotlin学习第 1 课:Kotlin 入门准备:搭建学习环境与认知基础
android·java·kotlin
艾莉丝努力练剑1 小时前
【C语言16天强化训练】从基础入门到进阶:Day 1
c语言·开发语言·数据结构·学习
颖川守一1 小时前
C++c6-类和对象-封装-设计案例2-点和圆的关系
开发语言·c++