对称就是最大的美学,现有一道关于对称字符串的美学。 已知: 第 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
;
刷题技巧 我这里有一个“刷题技巧”,你可以看看,或许可以帮到你: 不要盲目的刷题,凡是讲究策略与技巧,题型是有限的。用自己的方法梳理题型,归纳与总结,就能举一反三、手到擒来。 这个“刷题技巧”,包含了递归、分治、单调栈、并查集、滑动窗口、前缀和、查分、二分查找、 BFS 广搜和 DFS 深搜。 这些题型,都有一些共同点: 递归,都是用一组关键字来实现 BFS 广搜和 DFS 深搜的共同点: 前缀和(前缀法):通过判断值是否相等来判断结果是否为 1。若不相等则返回 1 (否则返回 0)。(也可以通过数组索引的方法) BFS 广搜的共同点:利用数组索引的方法。