白昼夢 / Daydream(模拟)
C - 白昼夢 / Daydream
Time limit : 2sec / Memory limit : 256MB
Score : 300 points
Problem Statement
You are given a string S consisting of lowercase English letters. Another string T is initially empty. Determine whether it is possible to obtain S=T by performing the following operation an arbitrary number of times:
- Append one of the following at the end of T:
dream
,dreamer
,erase
anderaser
.
Constraints
- 1≦|S|≦105
- S consists of lowercase English letters.
Input
The input is given from Standard Input in the following format:
S
Output
If it is possible to obtain S=T, print YES
. Otherwise, print NO
.
Sample Input 1
erasedream
Sample Output 1
YES
Append erase
and dream
at the end of T in this order, to obtain S=T.
Sample Input 2
dreameraser
Sample Output 2
YES
Append dream
and eraser
at the end of T in this order, to obtain S=T.
Sample Input 3
dreamerer
Sample Output 3
NO //给一个字符串,问,能否只通过加dream
dreamer
erase
eraser 这四个字符串得到
模拟就只要一重循环就够了,每次都确定连续的单词到底是什么,
#include <stdio.h>
#include <string.h> char str [];
char dr[]="dream";
char er[]="erase"; int main()
{
while (scanf("%s",&str)!=EOF)
{
int len = strlen (str);
int i,ok=;
for (i=;i<len;i++)//dreameraser
{
if (str[i]=='d')
{
int j;
for (j=i;j<=i+;j++)
{
if (j>=len||dr[j-i]!=str[j])
{
ok=;
break;
}
}
if (j==i+)//是dream
{
i=j-;
if (str[j]=='e'&&str[j+]=='r'&&str[j+]!='a')
{
i=j+;
}
}
}
else if (str[i]=='e')
{
int j;
for (j=i;j<=i+;j++)
{
if (j>=len||er[j-i]!=str[j])
{
ok=;
break;
}
}
if (j==i+) //是erase
{
i=j-;
if (str[j]=='r') i=j;
else i=j-;
}
}
else ok=;
if (ok==) break;
}
if (ok==)
printf("YES\n");
else
printf("NO\n");
}
return ;
}
白昼夢 / Daydream(模拟)的更多相关文章
- 【AtCoder】ARC065
ARC065 C - 白昼夢 / Daydream 直接递推就好 #include <bits/stdc++.h> #define fi first #define se second # ...
- DayDream, 移动VR 2.0里程碑: 概述(上篇)
VR设备, 断断续续使用了很多个; 尤其是最近半年,主要是PC VR方面项目. 以前对移动VR不感冒,这几天试用了一下DayDream, 眼前突然一亮, 就如同年初首次使用HTC Vive眼前一亮的感 ...
- 关于Daydream VR的最直白的介绍
虚拟现实(Virtual Reality),简称虚拟技术,也称虚拟环境,是利用电脑模拟产生一个三度空间的虚拟世界,提供用户关于视觉等感官的模拟,让用户如同身历其境一般,电脑可以立即进行复杂的运算,将精 ...
- csp-s模拟测试94
csp-s模拟测试94 一场简单题,打爆了.$T1$脑抽分解质因数准备分子分母消,想了半天发现$jb$互质直接上天,果断码了高精滚蛋.$T2$无脑手玩大样例,突然灵光一闪想到映射到前$K$大小的区间, ...
- App开发:模拟服务器数据接口 - MockApi
为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...
- 故障重现, JAVA进程内存不够时突然挂掉模拟
背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...
- Python 爬虫模拟登陆知乎
在之前写过一篇使用python爬虫爬取电影天堂资源的博客,重点是如何解析页面和提高爬虫的效率.由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了 ...
- HTML 事件(四) 模拟事件操作
本篇主要介绍HTML DOM中事件的模拟操作. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三) 事件流与事件委托 4. ...
- 模拟AngularJS之依赖注入
一.概述 AngularJS有一经典之处就是依赖注入,对于什么是依赖注入,熟悉spring的同学应该都非常了解了,但,对于前端而言,还是比较新颖的. 依赖注入,简而言之,就是解除硬编码,达到解偶的目的 ...
随机推荐
- python pep8编码风格学习记录(转)
简要归纳 每个缩进层级使用4个空格. 每行最多79个字符. 顶层的函数或类的定义之间空两行. 采用ASCII或UTF-8编码文件 在文件顶端,注释和文档说明之下,每行每条import语句只导入一个模块 ...
- Preference Learning——Object Ranking
Basics About Orders Object Ranking应用: 量化的受訪者的感觉或印象(quantification of respondents' sensations or impr ...
- Nginx auto_index和auth_basic
Nginx auto_index和auth_basic 1.nginx auto_index nginx站点目录浏览功能,默认情况下为关闭 启用或禁用目录列表输出 开启这个功能的前提是站点目录下没有首 ...
- OC第五课
主要内容:字典.集合.数组排序 一.字典 演示样例: name : @" 张三 " .sex:@" 男 " ; age :@" 21 " ; ...
- Laravel创建项目和安装PHPStorm IDE插件
一.win10下安装composer1.下载composer.phar,放入php的安装目录https://getcomposer.org/download/1.4.2/composer.phar 2 ...
- jquery load方式浏览器断点调试
jquery load的方式引入的,如果需要在浏览器中断点调试,需要在代码中使用debugger进行断点
- 每天一个JavaScript实例-展示设置和获取CSS样式设置
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- 【Excle数据透视表】如何水平并排显示报表筛选区域的字段
原始效果 目标效果 解决方案 设置数据透视表"在报表区域筛选显示字段"为"水平并排" 步骤 方法① 单击数据透视表任意单元格→数据透视表工具→分析→选项→布局和 ...
- Eclipse中设置格式化jsp自动换行
JSP代码换行:Window->Preferences->Web->JSP Files->Editor->Line width
- 3D版翻页公告效果
代码地址如下:http://www.demodashi.com/demo/12830.html 前言: 在逛小程序蘑菇街的时候,看到一个2D版滚动的翻页公告效果.其实看到这个效果的时候,一点都不觉得稀 ...