题意:
     给你一个初始串"MI",这个串有三种操作,
(1)M后卖弄可以直接复制 ,MI -> MII
(2)三个III可以变成一个U,MUIII -> MUU
(3)连续的两个U可以直接删除,MIUUU -> MIU
每次输入一个字符串,问你这个字符串是不是MI变过来的.
 
思路:

     刚开始想都没想直接开个容器mark,然后搜索打表,控制的长度是1000000,直接敲完运行等了好几分钟都没打完,哎! sb了,后来仔细看了看题目发现 其实我们可以这样想,所有的U都是i经过一线变化过来的,因为刚开始的时候没有U,而i能变成u而u不能变成i,还有的就是这个串一定是开头是M,因为没有操作能让中间产生m,或者把M变没,这样就简单了,那么就相当于一开始有一个i,我们可以把i的个数*2(操作1) 或者把i的个数-6 (操作3),这样所有的可能i的个数都打出来,没多少1--300000个,对于输入的串我们先看下是不是只有开头有一个M,然后在统计下他有多少个i,一个u是三个i(还原操作2),然后根据当前的i的数量是否被mark输出Yes或者No,水题一枚.


#include<stdio.h>
#include<string.h>#define N 1000100

char str[N];
int mark[N*3];void DFS(int s)
{mark[s] = 1;if(s * 2 <= N * 3 && !mark[s * 2]) DFS(s * 2);if(s - 6 >= 1 && !mark[s - 6])DFS(s - 6);
}int main ()
{memset(mark ,0 ,sizeof(mark));DFS(1);int L ,ms ,t ,sum;scanf("%d" ,&t);while(t--){scanf("%s" ,str);L = strlen(str);ms = sum = 0;for(int i = 0 ;i < L ;i ++){if(str[i] == 'M') ms ++;if(i){if(str[i] == 'I')sum ++;else sum += 3;}}if(ms != 1 || str[0] != 'M' || !mark[sum])puts("No");else puts("Yes");}return 0;
}

hdu4662 简单搜索打表相关推荐

  1. 和我一起打造个简单搜索之ElasticSearch入门

    本文简单介绍了使用 Rest 接口,对 es 进行操作,更深入的学习,可以参考文末部分. 环境 本文以及后续 es 系列文章都基于 5.5.3 这个版本的 elasticsearch ,这个版本比较稳 ...

  2. Flask实现简单搜索功能

    Flask实现简单搜索功能 主要功能是通过form的方式传值,再到数据库中查询.下面是数据库的内容我们这里主要是实现对content进行模糊匹配. 首先打开pycharm,构建一个最简单的flask应 ...

  3. solr简单搜索案例

    solr简单搜索案例 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字搜索商品信息,根据商品分类.价格过滤搜索结果,也可以根据价格进行排序,实现分页. 架构分为: 1. solr服务器 2. ...

  4. Node之父发布新项目deno:下一代Node;百度推出没有广告的简单搜索;甲骨文计划砍掉Java序列化功能;丨Q新闻...

    点击关注 InfoQ,置顶公众号 接收程序员的技术早餐 编辑|小智 音频|Heard 本周要闻:Git 爆任意代码执行漏洞,所有使用者都受影响:Node 之父发布新项目 deno:下一代 Node:G ...

  5. 李彦宏:简单搜索永远没有广告;安全是自动驾驶第一天条

    图片来源:新华网 在26日下午举办的2018数博会"人工智能:AI 生态加速未来"论坛中,百度董事长兼CEO李彦宏.中国科学院院士张钹.微软全球资深副总裁王永东等嘉宾分别发表了关于 ...

  6. 和我一起打造个简单搜索之SpringDataElasticSearch入门

    网上大多通过 java 操作 es 使用的都是 TransportClient,而介绍使用 SpringDataElasticSearch 的文章相对比较少,笔者也是摸索了许久,接下来本文介绍 Spr ...

  7. flask与简单的form表单

    flask与简单的form表单 文章目录 flask与简单的form表单 视频 代码 flask html 视频 https://www.bilibili.com/video/BV17W41177oE ...

  8. 【NOIP2018】DAY2T2——填数游戏(轮廓线状压的dp?搜索打表)

    描述 小 D 特别喜欢玩游戏.这一天,他在玩一款填数游戏. 这个填数游戏的棋盘是一个n × m的矩形表格.玩家需要在表格的每个格子中填入一个数字(数字 0 或者数字 1),填数时需要满足一些限制. 下 ...

  9. BFS简单搜索--POJ 2243

    这题就是简单的BFS搜索,刚刚转到C++,还有很多库函数不熟悉,理解到BFS是一种奇妙的迭代法,其用的主要是队列的性质. 1 /*BFS简单搜索*/ 2 #include<iostream> ...

最新文章

  1. 安装Ecshop首页出现报错:Only variables should be passed by referen
  2. python使用matplotlib可视化、为可视化图像添加图例(legend)、自定义图例的字体格式、字体大小、字体颜色等
  3. 如果有一天 Pytorch / Tensorflow 不开源了,我们该怎么办?
  4. 浅谈强化学习的方法及学习路线
  5. GDI+需要Dispose的对象(不断更新中)
  6. python2.7 升级到 python3.6
  7. 云栖TechDay精华文章合集
  8. Jenkins配置基于角色的项目权限管理--转
  9. python 利用pyinstaller 编译.exe文件过程中编写完的.exe文件执行过程中闪退
  10. yii---where or该如何使用
  11. oracle中sql语句的优化(转帖)
  12. 神龙X-Dragon,这技术“范儿”如何?| 问底中国IT技术演进
  13. django中的urlpatterns的正则语法
  14. dsoframer java_基于DsoFramer控件的Office编辑控件
  15. Python系列17-数据可视化之下载数据
  16. 使用JAVA对数据库的记录进行操作(初步)
  17. gpx读写java_GPX Parser for Java?
  18. 把ubuntu安装在U盘的教程之一:制作U盘启动盘
  19. Ps如何调出一寸或者二寸等规定尺寸的照片
  20. 南卫理公会大学 计算机排名,南卫理公会大学全球排名及其优秀校友

热门文章

  1. spring与springMVC配置扫描的问题
  2. Java_io体系之RandomAccessFile简介、走进源码及示例——20
  3. Mongodb-初步了解
  4. ecshop“发货查询”中加入收货人、收货地址、发货时间、配送方式
  5. 在进度面前,质量该不该打折?
  6. HDU 1086 You can Solve a Geometry Problem too
  7. silverlight 客户端之间的通讯
  8. ASP.NET 2.0 – 如何巢状化GridView控件
  9. iOS:给标签栏控制器的UITabbarItem添加点击动效
  10. linux配置ip 网关 和dns(转)