博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 4662 MU Puzzle:找规律
阅读量:5040 次
发布时间:2019-06-12

本文共 906 字,大约阅读时间需要 3 分钟。

题目链接:

题意:

  初始字符串为"MI"。

  有三个操作:

    (1)将'M'之后的所有字符翻倍。For example: MIU to MIUIU.

    (2)将'III'变为一个'U'。For example: MUIIIU to MUUU.

    (3)删除'UU'。For example: MUUU to MU

  给你一个字符串s,问你是否能将初始字符串"MI"通过一系列操作变为s。

 

题解:

  (1)因为'III'='U',所以令'I'=1,'U'=3.(操作2)

  (2)假设不进行操作3的话,将所有的'U'还原成'III','I'的个数为2的幂次方,也就是所有'U','I'之和为2^n。(操作1)

  (3)加上操作3,每删除一次'UU','U','I'之和减去6,所以sum = 2^n - k*6。(操作3)

  那么。。。打个表试试吧 (〃'▽'〃)

  1,2,4,8,10,14,16,20,26,32,34,40,46,52,58,64...

  哇有规律哦!

  sum为不能被3整除的偶数,或者1。

  所以读入的时候统计一下'U','I'之和,判断一下就好啦。

 

AC Code:

1 #include 
2 #include
3 #include
4 5 using namespace std; 6 7 int cases; 8 string s; 9 10 int main()11 {12 cin>>cases;13 while(cases--)14 {15 cin>>s;16 bool flag=true;17 int sum=0;18 if(s[0]!='M') flag=false;19 for(int i=1;i

 

转载于:https://www.cnblogs.com/Leohh/p/7377405.html

你可能感兴趣的文章
css修改滚动条样式
查看>>
2018.11.15 Nginx服务器的使用
查看>>
Kinect人机交互开发实践
查看>>
百度编辑器UEditor ASP.NET示例Demo 分类: ASP.NET...
查看>>
JAVA 技术类分享(二)
查看>>
android客户端向服务器发送请求中文乱码的问
查看>>
UOJ#220. 【NOI2016】网格 Tarjan
查看>>
Symfony翻译教程已开课
查看>>
Python模块之pickle(列表,字典等复杂数据类型与二进制文件的转化)
查看>>
通过数据库表反向生成pojo类
查看>>
css_去掉默认样式
查看>>
TensorFlow2.0矩阵与向量的加减乘
查看>>
NOIP 2010题解
查看>>
javascript中的each遍历
查看>>
String中各方法多数情况下返回新的String对象
查看>>
浅谈tcp粘包问题
查看>>
UVA11524构造系数数组+高斯消元解异或方程组
查看>>
排序系列之——冒泡排序、插入排序、选择排序
查看>>
爬虫基础
查看>>
jquery.lazyload延迟加载图片第一屏问题
查看>>