Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
84986 胡海峰老师 求和比较 Python3 Accepted 42 MS 3796 KB 768 2024-07-16 15:34:31

Tests(4/4):


Code:

def find_combinations(n, m): count = 0 # 总共有2^n种组合方式 for i in range(2** n): # 从000...1到111...1 subset1 = [] subset2 = [] sum1, sum2 = 0, 0 # 根据位掩码i生成两个子数组 for j in range(n): if i & (1 << j): subset1.append(j + 1) sum1 += j + 1 else: subset2.append(j + 1) sum2 += j + 1 # 检查两个子数组的和的差值是否等于M if abs(sum1 - sum2) == m: count += 1 return count//2 # 读取输入的两个正整数N和M n, m = map(int, input().split()) # 输出符合条件的拆分方案数 print(find_combinations(n, m))