对称就是最大的美学,现有一道关于对称字符串的美学。
已知:
第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,k1 <= T <= 100;
1 <= n <= 64;
0 <= k < 2^(n-1);
输出描述
输出T行表示答案:
输出blue表示字符是B;输出red表示字符是R;
#include <iostream>
using namespace std;
int main()
{
int t;
cin >> t;
while (t--)
{
int n, k;
cin >> n >> k;
int flag = 0;
while (n > 0)
{
if (k & 1)
{
flag = 1 - flag;
}
k >>= 1;
n--;
}
if (flag == 0)
{
cout << "red" << endl;
}
else
{
cout << "blue" << endl;
}
}
return 0;
}