小LK玩积木
发布日期:2021-07-01 00:12:46 浏览次数:2 分类:技术文章

本文共 1086 字,大约阅读时间需要 3 分钟。

小LK玩积木

时间限制: 1 Sec  内存限制: 128 MB

题目描述

HH最近通过黑洞APP下载了一个盗梦APP,据说能进入一个人的梦里做一些嘿嘿嘿的事情,秉着怀疑的态度HH偷偷地潜入LK的梦中,发现LK在梦里回到了自己小时候,在把玩一堆小机器人,然而那些机器人只有a、b两种类型,于是HH恶搞心理突然萌发,过去告诉小LK,这些机器人时可以拼起来的,其中b是0级机器人,a是1级机器人,然后这些机器人是可以拼起来的,拼装方式如下:

2级机器人=1级机器人+0级机器人=ab,

其中第1个关节是a,第2个关节是b

3级机器人=2级机器人+1级机器人=aba,

其中第1个关节是a,第2个关节是b,第3个关节是a

4级机器人=3级机器人+2级机器人=abaab

其中第1个关节是a,第2个关节是b,第3个关节是a,第4个关节是a,第5个关节是b

……

然后HH问小LK想知道n级机器人 中的第 m个关节是那个小机器人,如果错了,就带走所有的机器人,然而小LK暂时还没发解决这个问题,所以你可以帮小LK解决这个问题吗?

输入

本题输入为多样例。

每个测试组包含两个数 n, m 。

数据范围: T≤ 1000, 0 ≤ n ≤ 90, 1 ≤ m ≤ 100000000

输出

对于每个测试组,输出’a’或者’b’

样例输入

0 11 12 23 34 5

样例输出

babab
#include 
long long a[100];int Fibon(int n, long long m){ if (n == 0 || n == 1) return n; else { if (m >= a[n - 1]) Fibon(n - 2, m - a[n - 1]); else Fibon(n - 1, m); }}int main(){ int n, i; long long m; a[0] = 1; a[1] = 1; for (i = 2; i <= 90; i++) { a[i] = a[i - 1] + a[i - 2]; } while (~scanf("%d%lld", &n, &m)) { if (Fibon(n, m) == 0) printf("b\n"); else printf("a\n"); } return 0;}

转载地址:https://lzyws739307453.blog.csdn.net/article/details/79072108 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:进制转换2
下一篇:修改Maven源地址为阿里源--解决下载依赖很慢的问题

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月21日 11时47分23秒