专栏文章

题解:P12184 [蓝桥杯 2025 省 Python A] 偏蓝

P12184题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mipm020v
此快照首次捕获于
2025/12/03 14:11
3 个月前
此快照最后确认于
2025/12/03 14:11
3 个月前
查看原文

题意

有三个数字 0R,G,B2550\leq R,G,B \leq 255,求出 B>RB>RB>GB>G 的情况数量。

分析

我们可以看到这道题是一个提交答案题,所以提供两种思路:

思路一 数学

B=nB=n 时有 kk 个排列满足需求。通过排列的计算公式不难发现,当 nn 增加了 11,相应的 k\sqrt{k} 相比前一个 k\sqrt{k} 增加了 11
即可推出公式:kn=n2k_n=n^2
此时求出 k\sum{k} 即可。
复杂度 O(B)O(B)

程序一

PYTHON
ans = 0
for m in range(256):
    ans = ans + m * m
print(ans)

思路二 枚举

顾名思义,我们只需要枚举每一个 R,G,BR,G,B 的情况,然后判断是否符合 B>RB>RB>GB>G 即可。
复杂度 O(B3)O(B^3)

程序二

PYTHON
ans = 0
for R in range(256):
    for G in range(256):
        for B in range(256):
            if (B > R and B > G):
                ans = ans + 1
print(ans)

评论

0 条评论,欢迎与作者交流。

正在加载评论...