首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >规律与递归-对称美学

规律与递归-对称美学

原创
作者头像
Swing Dunn
发布2025-11-07 16:38:53
发布2025-11-07 16:38:53
1300
举报
文章被收录于专栏:刷点题15天(一)刷点题15天(一)

递归的思想也是将大的问题不断化小,要注意起始条件和递归的结束条件

代码语言:txt
复制
# 对称就是最大的美学,现有一道关于对称字符串的美学。已知:

# 第1个字符串:R
# 第2个字符串:BR
# 第3个字符串:RBBR
# 第4个字符串:BRRBRBBR
# 第5个字符串:RBBRBRRBBRRBRBBR

# 第一行输入一个T,表示有T组用例;

# 解析来输入T行,每行输入两个数字,表示n,k

# 1 ≤ T ≤ 100;
# 1 ≤ n ≤ 64;
# 0 ≤ k < 2^(n-1);

# 输出T行表示答案;

# 输出 "blue" 表示字符是B;

# 输出 "red" 表示字符是R。

import math

t = int(input())
arr = []
for i in range(t):
    arr.append(list(map(float, input().split())))

def getResult(arr):
    for n, k in arr:
        print(getNK(n, k ))

def getNK(n, k):
    if n == 1:
        return 'red'
    if n==2:
        if k == 0:
            return 'blue'
        else:
            return 'red'
        
    half = math.pow(2, n-2)
    if k >= half:
        return getNK(n-1, k -half)
    else:
        return 'blue' if getNK(n-1, k) == 'red' else 'red'
    
getResult(arr)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档