一个排列组合的题
本帖最后由 柿子饼同学 于 2022-7-31 19:03 编辑求解, 这题怎么做
谢谢{:10_266:} 本帖最后由 tommyyu 于 2022-8-1 10:20 编辑
这道题应该是NOIP第一轮的题,我感觉枚举就行
过程:
00008 00017 00026 00035 00044 00116 00125 00134 00224 00233 01115 01124 01133 01223 02222 11114 11123 11222 共18种 M = 8
K = 0
# a, b, c, d, e 共 5 个袋子 (N = 5)
for a in range(M, -1, -1):
for b in range(M, -1, -1):
for c in range(M, -1, -1):
for d in range(M, -1, -1):
for e in range(M, -1, -1):
if a + b + c + d + e == M and a >= b >= c >= d >= e:
K += 1
print(a, b, c, d, e, f"({K})")
8 0 0 0 0 (1)
7 1 0 0 0 (2)
6 2 0 0 0 (3)
6 1 1 0 0 (4)
5 3 0 0 0 (5)
5 2 1 0 0 (6)
5 1 1 1 0 (7)
4 4 0 0 0 (8)
4 3 1 0 0 (9)
4 2 2 0 0 (10)
4 2 1 1 0 (11)
4 1 1 1 1 (12)
3 3 2 0 0 (13)
3 3 1 1 0 (14)
3 2 2 1 0 (15)
3 2 1 1 1 (16)
2 2 2 2 0 (17)
2 2 2 1 1 (18) 傻眼貓咪 发表于 2022-8-3 19:56
懂了 , 枚举
页:
[1]