C. Penchick and BBQ Buns (python解)-codeforces

C. Penchick and BBQ Buns (python解)-codeforces

原题链接:

点击传送

问题分析:

我们需要为给定数量的 BBQ 包子分配填料,满足以下条件:

  1. 每种填料必须至少使用两次,或者不使用。
  2. 任何两个相同填料的包子之间的距离必须是一个完全平方数。

思路:

  • 为了满足条件,我们可以利用完全平方数的特性。完全平方数是指可以表示为某个整数的平方的数,前几个完全平方数为:1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400, 441, 484, 529, 576, 625, 676, 729, ...

代码:

def main():
    t = int(input())
    for _ in range(t):
        n = int(input())
        if n <= 25 and n % 2 != 0:
            print("-1")
        elif n % 2 != 0 and n >= 27:
            print("1 2 2 3 3 4 4 5 5 1 6 6 7 7 8 8 9 9 10 10 11 11 12 13 13 1 12", end=' ')
            if n > 27:
                r = 14
                for i in range(28, n, 2):
                    print(r, r, end=' ')
                    r += 1
        else:
            r = 1
            for i in range(1, n + 1, 2):
                print(r, r, end=' ')
                r += 1
        print()
if __name__ == "__main__":
    main()
posted @   元`  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示