国王的魔镜

简介: 国王的魔镜

解题思路:

通过getline函数从输入中读取一个字符串s。然后检查字符串的长度。如果长度是奇数,那么原始长度就是当前长度。这是因为无论我们如何拆分这个长度为奇数的字符串,都不能形成两个相同的部分。如果长度是偶数,将进入一个循环,每次将长度减半,直到长度为奇数。在循环中,我们检查字符串的两端是否相同。如果两端不同,那么原始长度就是当前长度,因为无论如何拆分都无法形成两个相同的部分。如果两端相同,我们就继续循环,直到长度变为奇数。最后,输出原始长度。

代码如下:

#include<bits/stdc++.h>
using namespace std;
 
int main(){
  string s;
  getline(cin,s);
  int length = s.length();
  if(length % 2 != 0) 
    cout << length;
  else while(length % 2 == 0)
  {
    if(length / 2 % 2 == 0) 
      cout << length /2;
    for(int j = 0, i = length - 1; j <i; j++, i--)
    {
      if(s[i] == s[j])
        length /= 2;
        cout << length + 1;
    }
  }
  return 0;
}


相关文章
|
4月前
洛古 P1002 过河卒
洛古 P1002 过河卒
|
SQL 安全 Linux
月饼杯II
月饼杯II
138 0
每日一题—— 太平洋大西洋水流问题
每日一题—— 太平洋大西洋水流问题
100 0
每日一题—— 太平洋大西洋水流问题
LeetCode每日一题——417. 太平洋大西洋水流问题
有一个 m × n 的矩形岛屿,与 太平洋 和 大西洋 相邻。 “太平洋” 处于大陆的左边界和上边界,而 “大西洋” 处于大陆的右边界和下边界。
93 0
LeetCode每日一题——417. 太平洋大西洋水流问题
|
Windows
谁是杀人凶手
谁是杀人凶手
108 0
谁是杀人凶手
|
机器学习/深度学习
7-15 球队“食物链”
7-15 球队“食物链” 某国的足球联赛中有N支参赛球队,编号从1至N。联赛采用主客场双循环赛制,参赛球队两两之间在双方主场各赛一场。
122 0
A计划救公主
可怜的公主在一次次被魔王掳走一次次被骑士们救回来之后,而今,不幸的她再一次面临生命的考验。魔王已经发出消息说将在T时刻吃掉公主,因为他听信谣言说吃公主的肉也能长生不老。年迈的国王正是心急如焚,告招天下勇士来拯救公主。不过公主早已习以为常,她深信智勇的骑士LJ肯定能将她救出。
181 0
|
机器学习/深度学习 人工智能 算法
球队“食物链”
c++天梯赛算法题
如何在公共场合收拾熊孩子
首先,我要反驳一种流行的错误观点,就是认为孩子还小,还没有规则意识,所以孩子熊就让他们熊。这是错误的。3岁的孩子已经可以明白,承诺和合作的意义了,已经可以发展出合作精神了。
1145 0