Busy Beavers(暴力模拟)
由于排版问题,题目无法显示,可以到 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(暴力模拟)的更多相关文章
- bnuoj 20832 Calculating Yuan Fen(暴力模拟)
http://www.bnuoj.com/bnuoj/problem_show.php?pid=20832 [题意]: 给你一串字符串,求一个ST(0<ST<=10000),对字符串中字符 ...
- POJ 1013 小水题 暴力模拟
Counterfeit Dollar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 35774 Accepted: 11 ...
- hdu_1006 Tick and Tick(暴力模拟)
hdu1006 标签(空格分隔): 暴力枚举 好久没有打题了,退队了有好几个月了,从心底不依赖那个人了,原来以为的爱情戏原来都只是我的独角戏.之前的我有时候好希望有个人出现,告诉自己去哪里,做什么,哪 ...
- 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 ...
- 美团2018年CodeM大赛-资格赛 分数 暴力模拟
链接:https://www.nowcoder.com/acm/contest/138/D来源:牛客网 小胖参加了人生中最重要的比赛——MedoC资格赛.MedoC的资格赛由m轮构成,使用常见的“加权 ...
- 2018/7/31-zznu-oj-问题 B: N! 普拉斯 -【求大数的阶乘-ll存不下-然后取尾零的个数输出-暴力模拟】
问题 B: N! 普拉斯 时间限制: 1 Sec 内存限制: 128 MB提交: 114 解决: 35[提交] [状态] [讨论版] [命题人:admin] 题目描述 在处理阶乘时也需要借助计算器 ...
- 2018/7/31-zznuoj-问题 A: A + B 普拉斯【二维字符串+暴力模拟+考虑瑕疵的题意-0的特例】
问题 A: A + B 普拉斯 在计算机中,数字是通过像01像素矩阵来显示的,最终的显示效果如下: 现在我们用01来构成这些数字 当宝儿姐输入A + B 时(log10(A)<50,log10 ...
- what the fuck!(二分查找 / 暴力模拟)
what the fuck! Description 现在有一家公司有nnn个员工(nnn为奇数),他们的工资发放是基本工资+提成,现在这家公司计划再招一批人.要写一篇招聘启事,但是对于这个招聘启事中 ...
- 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 ...
随机推荐
- ASP.NET Core + Angular 2 Template for Visual Studio
多个月以来,我和多个Github上的社区贡献者一起建立支持库.包,我们最终的目的是希望完成这样一个作为起点的模板,也就是基于把Typescript代码和Angular2宿主在ASP.NET Core项 ...
- TCP/IP传输层,你懂多少?
1. 传输层的主要功能是什么?2. 传输层如何区分不同应用程序的数据流?3. 传输层有哪些协议?4. 什么是UDP协议?5. 为什么有了UDP,还需要TCP?6. 什么是TCP协议?7. 怎么理解协议 ...
- Oracle全角和半角处理函数
1.TO_MULTI_BYTE语法: TO_MULTI_BYTE(String) 功能: 计算所有单字节字符都替换为等价的多字节字符的String.该函数只有当数据库字符集同时包含多字节和单字节的字符 ...
- java 异常处理机制及说明。
又抄袭了一篇文章,其实就是想保存到自己的博客中而已,文章出处:http://www.cnblogs.com/LilianChen/p/4639471.html 1. 如何捕获异常 try { 可能会出 ...
- NUTZ中处理系统未捕获异常
关键内容 mvc-chain.js ViewProcessor ai.setFailView(“redirect:/sysError.html”); log.error(this.trrowableT ...
- [.net] c# webservice
采用的工具VS2010生成工程 1. 生成webservice工程:建 ASP.NET 空WEB 应用程序. 2. 在建好的ASP.NET 空WEB应用程序中新建项“web 服务”. 完成上述内容工程 ...
- oracle_sequence用法
1. About Sequences(关于序列) 序列是数据库对象一种.多个用户可以通过序列生成连续的数字以此来实现主键字段的自动.唯一增长,并且一个序列可为多列.多表同时使用.序列消除了串行化 ...
- [转载]We Recommend a Singular Value Decomposition
原文:http://www.ams.org/samplings/feature-column/fcarc-svd Introduction The topic of this article, the ...
- 记JavaScript的入门学习(三)
2016.12.6晚上十点半完成JavaScript的第二章学习,看了点第三章的开头总述,都说原生js每一个知识点都可以分分钟钟让你放弃,而我在努力探索着.月末的时候就回家放假了,希望在家也可以有个小 ...
- Ubuntu 16.04 samba相关配置
samba是 SMB/CIFS网络协议的重新实现,它作为NFS的补充使得在Linux和Windows系统之间进行文件共享.打印更容易实现. 相关介绍: SAMBA套件: (1)samba:这个套件主要 ...