题目
对称就是最大的美学,现有一道关于对称字符串的美学。已知:
第 1 个字符串:R
第 2 个字符串:BR
第 3 个字符串:RBBR
第 4 个字符串:BRRBRBBR
第 5 个字符串:RBBRBRRBBRRBRBBR
相信你已经发现规律了,没错!就是第 i 个字符串 = 第 i - 1 号字符串取反 + 第 i - 1 号字符串;
取反(R->B, B->R)。
现在告诉你 n 和 k,让你求得第 n 个字符串的第 k 个字符是多少。(k 的编号从 0 开始)
输入描述
第一行输入一个 T,表示有 T 组用例;
接下来输入 T 行,每行输入两个数字,表示 n,k
1 ≤ T ≤ 100;
1 ≤ n ≤ 64;
0 ≤ k < 2^(n-1);
输出描述
输出 T 行表示答案;
输出 “blue” 表示字符是 B;
输出 “red” 表示字符是 R。
备注:输出字符串 区分大小写,请注意输出小写字符串,不带双引号。
用例
| 输入 | 输出 |
|---|---|
| 5 1 0 2 1 3 2 4 6 5 8 |
red red blue blue blue |
思路
题目已经把第 i 个字符串的构成规律给出了,可以直接把需要的字符串都预计算出来。但这种做法无法通过所有测试用例,会内存溢出(N=64时)。是不是可以直接根据规律推断出第 n 个字符串的第 k 个字符呢?仔细想想字符串构成形成一种递归的镜像结

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



