由于排版问题,题目无法显示,可以到 http://7xjob4.com1.z0.glb.clouddn.com/e4872a15819b6bf9d1e5250bacc2a30b  查看

题目大意是有只海狸在一排无穷多的好树上,起始心情是A,问经过一系列操作后,能否心情好(心情变成H)。

给出十组数据分别代表,A心情时,对好树的操作,A心情时,对坏树的操作,B心情时,对好树的操作,B心情时,对坏树的操作。。。以此类推

具体的操作有三种,给出的三个字符分别代表三种操作。第一种1和0代表,把当前的树变成坏树(1)或者好树(0);第二种L和R代表往左移动(L)或者往右移动(R);第三种字符(A~E和H)代表经过这树后的心情会变成什么。

那么我们可以用一个数组M,记录当前心情和树的状态为某个值时对应的操作。比如M[0]代表A心情时对好树的操作,M[1]代表A心情时对坏树的操作,以此类推。。

我们再开一个2e的bool数组模拟树的状态,我们从下标为1e的点开始,起始状态为A心情,好树,那我们就对应选择M[0]操作,假设M[0]为1RB,那我们把这树的状态改为1(坏树),然后心情变为B,然后向右走,此时海狸心情为B,树为好树,那我们对应选择M[2]。。。然后模拟5000w次,如果找到H心情,则break。

#include <iostream>
#include <cstdio>
using namespace std;
const int maxn=1e8;
bool tree[*maxn];
struct node{
bool ok;//代表要将树变成什么状态
int step;//代表下一步动作
int mood;//0,2,4,6,8,14分别代表心情A,B,C,D,E,H
}M[];
char str[];
int main()
{
freopen("beavers.in","r",stdin);
freopen("beavers.out","w",stdout);
for (int i=;i<;i++)
{
scanf("%s",str);
M[i].ok=str[]-'';
M[i].step=(str[]=='L')?-:;
M[i].mood=*(str[]-'A');
}
int pos=maxn,Mood=,ok=;//下标从1e开始,起始心情为0
int all=;//一共模拟5000w次
while (all--)
{
bool cur=tree[pos];
tree[pos]=M[Mood+cur].ok;//改变树的状态
pos+=M[Mood+cur].step;//移动
Mood=M[Mood+cur].mood;//改变心情
if (Mood==)//14代表H,如果遇到H,break
{
ok=;
break;
}
}
if (ok) puts("happy beaver");
else puts("unhappy beaver");
return ;
}

Busy Beavers(暴力模拟)的更多相关文章

  1. bnuoj 20832 Calculating Yuan Fen(暴力模拟)

    http://www.bnuoj.com/bnuoj/problem_show.php?pid=20832 [题意]: 给你一串字符串,求一个ST(0<ST<=10000),对字符串中字符 ...

  2. POJ 1013 小水题 暴力模拟

    Counterfeit Dollar Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 35774   Accepted: 11 ...

  3. hdu_1006 Tick and Tick(暴力模拟)

    hdu1006 标签(空格分隔): 暴力枚举 好久没有打题了,退队了有好几个月了,从心底不依赖那个人了,原来以为的爱情戏原来都只是我的独角戏.之前的我有时候好希望有个人出现,告诉自己去哪里,做什么,哪 ...

  4. hihoCoder #1871 : Heshen's Account Book-字符串暴力模拟 自闭(getline()函数) (ACM-ICPC Asia Beijing Regional Contest 2018 Reproduction B) 2018 ICPC 北京区域赛现场赛B

    P2 : Heshen's Account Book Time Limit:1000ms Case Time Limit:1000ms Memory Limit:512MB Description H ...

  5. 美团2018年CodeM大赛-资格赛 分数 暴力模拟

    链接:https://www.nowcoder.com/acm/contest/138/D来源:牛客网 小胖参加了人生中最重要的比赛——MedoC资格赛.MedoC的资格赛由m轮构成,使用常见的“加权 ...

  6. 2018/7/31-zznu-oj-问题 B: N! 普拉斯 -【求大数的阶乘-ll存不下-然后取尾零的个数输出-暴力模拟】

    问题 B: N! 普拉斯 时间限制: 1 Sec  内存限制: 128 MB提交: 114  解决: 35[提交] [状态] [讨论版] [命题人:admin] 题目描述 在处理阶乘时也需要借助计算器 ...

  7. 2018/7/31-zznuoj-问题 A: A + B 普拉斯【二维字符串+暴力模拟+考虑瑕疵的题意-0的特例】

    问题 A: A + B 普拉斯 在计算机中,数字是通过像01像素矩阵来显示的,最终的显示效果如下:  现在我们用01来构成这些数字 当宝儿姐输入A + B 时(log10(A)<50,log10 ...

  8. what the fuck!(二分查找 / 暴力模拟)

    what the fuck! Description 现在有一家公司有nnn个员工(nnn为奇数),他们的工资发放是基本工资+提成,现在这家公司计划再招一批人.要写一篇招聘启事,但是对于这个招聘启事中 ...

  9. Codeforces Round #369 (Div. 2) A B 暴力 模拟

    A. Bus to Udayland time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

随机推荐

  1. 关于props和state以及redux中的state

    React的数据模型分为共有数据和私有数据,共有数据可以在组件间进行传递,私有数据为当前组件私有.共有数据在React中使用props对象来调用,它包含标签所有的属性名称和属性值,props对象有三个 ...

  2. Fragment与Activity交互(使用Bundle)

    将需要传输的数据封装在一个Bundle对象里,然后将该Bundle对象通过 fragment.setArguments()放到fragment内. Bundle arguments = new Bun ...

  3. 应用Git Flow—Git团队协作最佳实践

    规范的Git使用 Git是一个很好的版本管理工具,不过相比于传统的版本管理工具,学习成本比较高. 实际开发中,如果团队成员比较多,开发迭代频繁,对Git的应用比较混乱,会产生很多不必要的冲突或者代码丢 ...

  4. CKPlayer 只调用HTML5播放器时全屏问题 这只是Chrome浏览器的渲染bug

    如题,在系统中使用CKPlayer播放器,一切顺利,偶然发现没有全屏按钮, 正常的全屏按钮是这样的: 经过一步步调试,发现问题出在iframe, 当视频页面在iframe内时,全屏按钮不显示了,这个和 ...

  5. 【摘录】使用实体框架、Dapper和Chain的仓储模式实现策略

    以下文章摘录来自InfoQ,是一篇不错的软问,大家细细的品味 关键要点: Dapper这类微ORM(Micro-ORM)虽然提供了最好的性能,但也需要去做最多的工作. 在无需复杂对象图时,Chain这 ...

  6. React一些必须要知道的基础

    React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站.做出来以后,发现这套东西 ...

  7. 用备份控制文件做不完全恢复下的完全恢复(全备<老>--备份控制文件<次新>--删除表空间andy--日志文件<新>)

    为什么会使用备份的控制文件? 实际工作中主要有两种情况:第一种:当前控制文件全部损坏,而数据文件备份,控制文件备份及当前日志处于不同SCN版本,它们之间又增加过表空间(数据文件).第二种:当前控制文件 ...

  8. python绝技 — 使用PyGeoIP关联IP地址和物理位置

    准备工作 要关联IP与物理位置,我们需要有一个包含这样对应关系的数据库. 我们可以使用开源数据库GeoLiteCity,它能够较为准确地把IP地址与所在城市关联起来 下载地址:http://dev.m ...

  9. springIOC

    从这段代码开始 ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); Pers ...

  10. hibernate子查询

    对于支持子查询的数据库,Hibernate支持在查询中使用子查询.一个子查询必须被圆括号包围起来(经常是SQL聚集函数的圆括号). 甚至相互关联的子查询(引用到外部查询中的别名的子查询)也是允许的. ...