白昼夢 / 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,eraseanderaser.
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 //给一个字符串,问,能否只通过加dreamdreamereraseeraser 这四个字符串得到
模拟就只要一重循环就够了,每次都确定连续的单词到底是什么,
#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的同学应该都非常了解了,但,对于前端而言,还是比较新颖的. 依赖注入,简而言之,就是解除硬编码,达到解偶的目的 ...
随机推荐
- 在CcentOS系统上将deb包转换为rpm包
deb文件格式本是ubuntu/debian系统下的安装文件,那么我想要在redhat/centos/fedora中安装,需要把deb格式的软件包转化成rpm格式. 需要用到的转换工具:alien_8 ...
- JavaWeb教程路线
主要内容大概例如以下: 1.开发环境搭建 2.servlet/jsp解说 3.mysql解说 4.JDBC解说 5.ssh解说 6.整合开发 7.样例具体解释
- EF使用延迟加载的本质原因
EF(Entity Framework)是微软的一个ORM框架 使用过EF的同学都知道它有一个延迟加载的功能 那么这个延迟加载的功能到底是什么? 为什么需要延迟加载? 使用延迟加载的优点和缺点又各是什 ...
- java-selenium(一)元素定位
在定位单个元素时,selenium-webdriver 提示了如下一些方法对元素进行定位.下面这些定位方式中,优先使用 id.name.classname,对于网上的链接元素,推荐使用linkText ...
- 转:Hash, MAC,HMAC说明
from: http://www.cnblogs.com/songhan/archive/2012/07/29/2613898.html Hash, MAC,HMAC Hash-MD5, SHA-1, ...
- linux下c,c++头文件的路径
一. C语言包含的目录: 二. C++包含的目录
- 转: java语法与ide级入门介绍 from: IBM dev
点评: 讲的比较初级,但是有教你使用ide (Eclipse) frrom:http://www.ibm.com/developerworks/java/tutorials/j-introtojava ...
- Angular 学习笔记——自定义指令
<!DOCTYPE HTML> <html ng-app="myApp"> <head> <meta http-equiv="C ...
- setTimeout应用 && 自动播放——幻灯片效果&& 自动改变方向——幻灯片效果
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 倍福TwinCAT(贝福Beckhoff)基础教程 松下伺服驱动器报错 88怎么办
请确认在TWINCAT在线模式下,把Drive的Modes of operation改为8 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com ...