A27360. 父与子
填空题
较难
知识点
题目描述
父与子
题目描述
学校举办亲子运动会,所有的父亲一组,孩子一组,出场规则是:父亲组先派一个人上场之后孩子组才能派一个人上场,假设每队3个人,可能的出场策略包括5种:
父父父子子子、父父子子父子、父父子父子子、父子父父子子、父子父子父子
任意输入父子的对数n(3 <= n <= 15),计算并输出有多少种出场策略。
输入描述
输入父子对数n
输出描述
输出共有多少种出场策略
样例输入
3
样例输出
5
注意:
input()内不添加任何参数只有完全正确才可提交,若无法点击提交说明答题存在错误,可及时进行检查并修改
参考答案
# 对于给定元组,逐个判断,对元组进行切片操作,统计父和子的个数,进行比较
def is valid(tp):
for i in range(n * 2):
t = tp[:i + 1]
father = t.count('父')
son = t.count('子')
if father < son:
return False
return True
n = int(input())
arr = ['父'] * n + ['子'] * n
res = []
from itertools import permutations# 获取全排列,并进行过滤操作
for a in permutations(arr,n *2):
if is valid(a) and a not in res:
res.append(a)
print(len(res))
上一题
下一题