由于排版问题,题目无法显示,可以到 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. 项目中出现黄色感叹号 教你去掉Myeclipse的黄色感叹号

    点击Window>>Preferences>>General>>Editors>>Text Editors>>Annotations 选中右 ...

  2. [Thinkbayes]贝叶斯思维读书笔记-2-火车头问题

    今天,我们继续我们的笔记. 作者在第三章继续举了一个例子.火车头问题(读者在此可能会觉得这个问题没有意义,但相信随着深入阅读,这个问题会被解答). 这个举例恰到好处,能够让我深入理解到底应该如何假设, ...

  3. ColumnEdit 数据源修改

    应用场景 当从ColumnEdit(如SearchLookUpEdit)中选取一条记录后,ColumnEdit的数据源不再出现这条记录.效果图如下 选择前 选择一条记录后,上一条记录不再显示. 此处是 ...

  4. Kattis - Aaah!

    Aaah! Photo by Unknown Jon Marius shouted too much at the recent Justin Bieber concert, and now need ...

  5. CodeVS 3415-最小和

    原题 题目描述 Description      小浣熊松松来到文具店,选择了K支自己喜欢的水彩笔,并抄下了它们的价格.可是到结算时,他发现自己抄价格时抄得太密集,以至于所有价格连成了一个数字串(你可 ...

  6. childNodes属性 和 nodeType属性

    childNodes属性可以用来获取任何一个元素的所有子元素,它是一个包含这个元素的全部子元素的数组:element.childNodes 如果需要把某个文档的body元素的全体子元素检索出来.首先使 ...

  7. QQSpamerUpdate

    2.00001,0,http://oia5k1lqi.bkt.clouddn.com/QQSpamer2.0%20BETA1.exe

  8. [读书笔记]telnet与http服务器一次直接对话

    1.打开电脑telnet客户端应用 控制面板 >程序和功能 > 打开或者关闭windows功能 > telnet客户端 勾选,并确认. 2.执行telnet命令 a:cmd进入控制台 ...

  9. zabbix 布署实践【5 使用邮箱SMTP SSL推送告警邮件】

    由于传统的邮件推送脚本使用smtp 25端口,在各大邮箱提供商已不适用,已经向SSL过渡,这里以QQ邮箱为例,使用SSL 465端口 登录zabbix-server 进入 cd /usr/lib/za ...

  10. css-div下内容垂直居中

    1.多行行文字在固定高度的div中垂直居中,只兼容高级浏览器和移动端 .detail { width: 395px; height: 289px; display: -webkit-box; -web ...