【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

相关推荐
方圆想当图灵14 分钟前
缓存之美:万文详解 Caffeine 实现原理(下)
java·redis·缓存
old_power26 分钟前
【PCL】Segmentation 模块—— 基于图割算法的点云分割(Min-Cut Based Segmentation)
c++·算法·计算机视觉·3d
fmdpenny27 分钟前
Vue3初学之商品的增,删,改功能
开发语言·javascript·vue.js
栗豆包28 分钟前
w175基于springboot的图书管理系统的设计与实现
java·spring boot·后端·spring·tomcat
涛ing42 分钟前
21. C语言 `typedef`:类型重命名
linux·c语言·开发语言·c++·vscode·算法·visual studio
等一场春雨1 小时前
Java设计模式 十四 行为型模式 (Behavioral Patterns)
java·开发语言·设计模式
黄金小码农1 小时前
C语言二级 2025/1/20 周一
c语言·开发语言·算法
萧若岚1 小时前
Elixir语言的Web开发
开发语言·后端·golang
wave_sky2 小时前
解决使用code命令时的bash: code: command not found问题
开发语言·bash
PaLu-LI2 小时前
ORB-SLAM2源码学习:Initializer.cc⑧: Initializer::CheckRT检验三角化结果
c++·人工智能·opencv·学习·ubuntu·计算机视觉