【蓝桥杯算法训练】- 球员安排
2022/1/16 20:05:12
本文主要是介绍【蓝桥杯算法训练】- 球员安排,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、问题描述
一只业余足球队在安排11名球员的位置,球队踢4-3-3的战术(即1门将,4后卫,3中场,3前锋)。
每名球员有自己愿意踢的位置,比如MS只愿意踢后卫,而CR愿意踢中场和前锋。
作为球队教练的Lazy想知道,有多少种方案可以满足所有11名球员的愿望。
由于球队非常业余,所以不考虑后卫、中场、前锋各自内部的排列,即后卫{A,B,C,D}和后卫{D,C,B,A}是一样的。
输入格式
11行,每行长度为4的零一串,依次表示球员是否愿意做门将、后卫、中场、前锋。0表示不愿意,1表示愿意。
输出格式
1行一个整数表示方案数。
样例输入
1000
0100
0100
0100
0100
0010
0010
0010
0001
0001
0001
样例输出
1
2、问题分析
因为只有11个球员,球员数目较少,所以可以直接暴力枚举。确定枚举的最终条件应该满足两个条件1.11个人 2.11个球员各个位置的人数分别满足1 4 3 3时,方案数+1.
3.代码分析
利用python暴搜
def dfs(step): if step==12: if ans[0]==1 and ans[1]==4 and ans[2]==3 and ans[3]==3: global count count=count+1 return for i in range(4): if a[step][i]=='1': ans[i]+=1 dfs(step+1) ans[i]-=1 global a a=[1] for o in range(11): a.append(input()) global ans ans=[0]*4 count=0 dfs(1) print(count)
利用Java暴搜
建立全局变量方案数目,利用递归循环不断向下搜索,当满足球员人数和各个球员位置的分配时,方案数目自加。
这篇关于【蓝桥杯算法训练】- 球员安排的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-19永别了,微服务架构!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?