hdu4662 简单搜索打表
题意:
给你一个初始串"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 简单搜索打表相关推荐
- 和我一起打造个简单搜索之ElasticSearch入门
本文简单介绍了使用 Rest 接口,对 es 进行操作,更深入的学习,可以参考文末部分. 环境 本文以及后续 es 系列文章都基于 5.5.3 这个版本的 elasticsearch ,这个版本比较稳 ...
- Flask实现简单搜索功能
Flask实现简单搜索功能 主要功能是通过form的方式传值,再到数据库中查询.下面是数据库的内容我们这里主要是实现对content进行模糊匹配. 首先打开pycharm,构建一个最简单的flask应 ...
- solr简单搜索案例
solr简单搜索案例 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字搜索商品信息,根据商品分类.价格过滤搜索结果,也可以根据价格进行排序,实现分页. 架构分为: 1. solr服务器 2. ...
- Node之父发布新项目deno:下一代Node;百度推出没有广告的简单搜索;甲骨文计划砍掉Java序列化功能;丨Q新闻...
点击关注 InfoQ,置顶公众号 接收程序员的技术早餐 编辑|小智 音频|Heard 本周要闻:Git 爆任意代码执行漏洞,所有使用者都受影响:Node 之父发布新项目 deno:下一代 Node:G ...
- 李彦宏:简单搜索永远没有广告;安全是自动驾驶第一天条
图片来源:新华网 在26日下午举办的2018数博会"人工智能:AI 生态加速未来"论坛中,百度董事长兼CEO李彦宏.中国科学院院士张钹.微软全球资深副总裁王永东等嘉宾分别发表了关于 ...
- 和我一起打造个简单搜索之SpringDataElasticSearch入门
网上大多通过 java 操作 es 使用的都是 TransportClient,而介绍使用 SpringDataElasticSearch 的文章相对比较少,笔者也是摸索了许久,接下来本文介绍 Spr ...
- flask与简单的form表单
flask与简单的form表单 文章目录 flask与简单的form表单 视频 代码 flask html 视频 https://www.bilibili.com/video/BV17W41177oE ...
- 【NOIP2018】DAY2T2——填数游戏(轮廓线状压的dp?搜索打表)
描述 小 D 特别喜欢玩游戏.这一天,他在玩一款填数游戏. 这个填数游戏的棋盘是一个n × m的矩形表格.玩家需要在表格的每个格子中填入一个数字(数字 0 或者数字 1),填数时需要满足一些限制. 下 ...
- BFS简单搜索--POJ 2243
这题就是简单的BFS搜索,刚刚转到C++,还有很多库函数不熟悉,理解到BFS是一种奇妙的迭代法,其用的主要是队列的性质. 1 /*BFS简单搜索*/ 2 #include<iostream> ...
最新文章
- 安装Ecshop首页出现报错:Only variables should be passed by referen
- python使用matplotlib可视化、为可视化图像添加图例(legend)、自定义图例的字体格式、字体大小、字体颜色等
- 如果有一天 Pytorch / Tensorflow 不开源了,我们该怎么办?
- 浅谈强化学习的方法及学习路线
- GDI+需要Dispose的对象(不断更新中)
- python2.7 升级到 python3.6
- 云栖TechDay精华文章合集
- Jenkins配置基于角色的项目权限管理--转
- python 利用pyinstaller 编译.exe文件过程中编写完的.exe文件执行过程中闪退
- yii---where or该如何使用
- oracle中sql语句的优化(转帖)
- 神龙X-Dragon,这技术“范儿”如何?| 问底中国IT技术演进
- django中的urlpatterns的正则语法
- dsoframer java_基于DsoFramer控件的Office编辑控件
- Python系列17-数据可视化之下载数据
- 使用JAVA对数据库的记录进行操作(初步)
- gpx读写java_GPX Parser for Java?
- 把ubuntu安装在U盘的教程之一:制作U盘启动盘
- Ps如何调出一寸或者二寸等规定尺寸的照片
- 南卫理公会大学 计算机排名,南卫理公会大学全球排名及其优秀校友
热门文章
- spring与springMVC配置扫描的问题
- Java_io体系之RandomAccessFile简介、走进源码及示例——20
- Mongodb-初步了解
- ecshop“发货查询”中加入收货人、收货地址、发货时间、配送方式
- 在进度面前,质量该不该打折?
- HDU 1086 You can Solve a Geometry Problem too
- silverlight 客户端之间的通讯
- ASP.NET 2.0 – 如何巢状化GridView控件
- iOS:给标签栏控制器的UITabbarItem添加点击动效
- linux配置ip 网关 和dns(转)