国王的魔镜

时间限制:3000 ms  |  内存限制:65535 KB
难度:1
描述
国王有一个魔镜,可以把任何接触镜面的东西变成原来的两倍——只是,因为是镜子嘛,增加的那部分是反的。

比如一条项链,我们用AB来表示,不同的字母表示不同颜色的珍珠。如果把B端接触镜面的话,魔镜会把这条项链变为ABBA。如果再用一端接触的话,则会变成ABBAABBA(假定国王只用项链的某一端接触魔镜)。

给定最终的项链,请编写程序输出国王没使用魔镜之前,最初的项链可能的最小长度。

输入
第一行是一个整数N(N<=10)表示测试数据的组数)
每组测试数据占一行 只有一个字符串(长度小于100),由大写英文字母组成,表示最终的项链。
输出
每组测试数据的输出只有一个整数,表示国王没使用魔镜前,最初的项链可能的最小长度。
样例输入
2
ABBAABBA
A
样例输出
2
1

题目很简单,其实就是用循环缩小范围,回文。

可能是我没有懂得这种题目的解题精髓,总是走很多弯路,讨论很多种情况却总是有遗漏。

下面代码中用函数做判断,然后回调到主函数种循环,可能是我以后解题的一种主要思路。

#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
char str[110];  int change(int len){  int i=0,j=len-1;  while(i<j){  if (str[i]!=str[j])  return 0;  i++;j--;  }  return 1;
}  int main(){  int t;  cin>>t;  while(t--){  cin>>str;  int len=strlen(str);  while(!(len&1) && change(len))  len/=2;  cout<<len<<endl;  }  return 0;
}  

题目264-国王的魔镜相关推荐

  1. NYOJ 264 国王的魔镜

    国王的魔镜 时间限制:3000 ms  |  内存限制:65535 KB 难度:1 描述 国王有一个魔镜,可以把任何接触镜面的东西变成原来的两倍--只是,因为是镜子嘛,增加的那部分是反的. 比如一条项 ...

  2. 1093 打印小写字母表+1101时间的差+1115数字和+1134 国王的魔镜+1387简单加密+1480找字典码最小的字符串+1098判断是否构成回文+1591求子串的位置+1116调换位置

    ** 1093 - 打印小写字母表 ** 来源: 东方博宜oj oj.czos.cn #include<bits/stdc++.h> using namespace std; int ma ...

  3. 0-1背包问题 题目:国王和金矿问题 描述:有一个国家发现了max_n座金矿,参与挖矿工人的总数是max_people人。每座金矿的黄金储量不同为一维数组gold[],需要参与挖掘的工人数也不同为一维

    题目四:0-1背包问题 题目:国王和金矿问题 描述:有一个国家发现了max_n座金矿,参与挖矿工人的总数是max_people人.每座金矿的黄金储量不同为一维数组gold[],需要参与挖掘的工人数也不 ...

  4. NYOJ264国王的魔镜

    国王的魔镜 时间限制: 3000 ms  |  内存限制: 65535 KB 难度: 1 描述 国王有一个魔镜,可以把任何接触镜面的东西变成原来的两倍--只是,因为是镜子嘛,增加的那部分是反的. 比如 ...

  5. |洛谷|分治|P2799 国王的魔镜

    https://www.luogu.org/problem/show?pid=2799 判断整个字符串是否对称,如果对称,那么从中间分开继续比较. 注意,当当前总长度为奇数时,直接退出,因为镜子不会把 ...

  6. 水题:P2799 国王的魔镜

    思路:简单模拟即可.判断一下是不是回文,是回文看长度是不是偶数.是偶数的话,说明又可能是回文.依次这样处理.但是只要长度为奇数则一定是原来的长度直接输出即可. #include<iostream ...

  7. 用java解决国王的金币问题_国王赏赐金币问题(减治法)

    题目: 国王赏赐大臣30枚金币,但是有一枚是假的,并且假的金币较轻,国王让大臣仅用一个天平,比较最少的次数得到答案.也就是,在n枚外观相同的硬币中,有一枚是假币,并且已知假币较轻,可以通过一架天平来任 ...

  8. 国王将金币作为工资,发放给忠诚的骑士。

    题目描述 国王将金币作为工资,发放给忠诚的骑士.第一天,骑士收到一枚金币:之后2天(第2天和第3天),每天收到2枚金币:之后3天(第4,5,6天),每天收到3枚金币:之后4天(第7,8,9,10天), ...

  9. akoj-1170-国王的魔镜

    国王的魔镜 Time Limit:1000MS  Memory Limit:65536K Total Submit:43 Accepted:21 Description 国王有一个魔镜,可以把任何接触 ...

  10. nyoj-264-国王的魔镜

    国王的魔镜 时间限制: 3000 ms  |  内存限制: 65535 KB 难度: 1 描述 国王有一个魔镜,可以把任何接触镜面的东西变成原来的两倍--只是,因为是镜子嘛,增加的那部分是反的. 比如 ...

最新文章

  1. “拟态防御”: 让黑客找不到破门之机
  2. React路由---react-router-dom、获取路由参数、ant design ui组件、fetch发送请求(默认不能跨域)、Switch...
  3. python 自然语言处理 (六) 采用deepQA搭建自动聊天机器人
  4. “约见”面试官系列之常见面试题之第八十五篇之css响应式(建议收藏)
  5. linux目录详解i-node,i-node节点与链接
  6. 练习四十八:面向对象执行效率
  7. 2-36进制,可以任意进制互转的类
  8. 关于前端模块化你应该知道的
  9. 第三章 进化算法之遗传算法及其应用
  10. xmind8 安装方法(old)
  11. WinSCP(SFTP客户端) v5.13.3中文版
  12. Oracle表空间(tablespaces)
  13. QtCreator添加文件夹
  14. P5837 [USACO19DEC]Milk Pumping G
  15. 数据,数据流,数据管道
  16. spring配置方式:
  17. 再论人与人的三大关系:生存关系、性关系和经济关系
  18. 链游系列 Decentraland / MANA 项目玩法解析
  19. java static方法过多_Java 项目静态方法过多会有什么样影响?静态类、静态方法影不影响多线程性能...
  20. Ubuntu Server 1404 换源

热门文章

  1. 日本电子业转型的东芝之困:多年亏损 后有强敌追兵
  2. [1-7] 把时间当做朋友(李笑来)Chapter 7 【从此时此刻开始改变】 摘录
  3. apache 配置虚拟域名默认站点问题
  4. STM32外部中断具体解释
  5. 关于跳转 + 传递消息,
  6. T-SQL连接查询,基础连接理解
  7. 《Windows核心编程》之七 - 关于Windows 2000中内存的分区
  8. hashmap什么时候由链表转为红黑树
  9. DB2 表的常用命令
  10. 空间复杂度和时间复杂度