蓝桥杯-寒假作业-python

简介: 蓝桥杯-寒假作业-python

思路:

构造check函数,检查我们当前的排序是否满足题目中所给的条件,在深度搜索时调用check函数进行剪枝。

在深度搜索时,生成前num个数的全排列(见注释),每生成一次都进行check检查,避免浪费时间。

代码:

1. ans=0
2. b=[0 for _ in range(15)]
3. vis=[0 for _ in range(15)]
4. 
5. def check3(): return b[1]+b[2]==b[3] 
6. def check6(): return b[4]-b[5]==b[6]
7. def check9(): return b[7]*b[8]==b[9] 
8. def check12(): return b[10]==b[11]*b[12] 
9. 
10. def dfs(num):
11. global ans
12. if num==13:
13. if check12(): ans+=1
14. return
15. if num==4 and not check3():return
16. if num==7 and not check6():return
17. if num==10 and not check9():return
18. for i in range(1,14):
19. if not vis[i]: #如果i没有被访问过,则访问i
20.             vis[i]=1 #标记访问过i了,b[]中之后不再出现i
21.             b[num]=i #赋值
22.             dfs(num+1) #寻找当前b[]的下一个值
23.             vis[i]=0 #回退,清理标记,寻找下一组
24. 
25. dfs(1)
26. print(ans)
目录
相关文章
|
6月前
|
机器学习/深度学习 人工智能 算法
【代数学作业1完整版-python实现GNFS一般数域筛】构造特定的整系数不可约多项式:涉及素数、模运算和优化问题
【代数学作业1完整版-python实现GNFS一般数域筛】构造特定的整系数不可约多项式:涉及素数、模运算和优化问题
124 0
|
6月前
|
机器学习/深度学习 人工智能 算法
【代数学作业1-python实现GNFS一般数域筛】构造特定的整系数不可约多项式:涉及素数、模运算和优化问题
【代数学作业1-python实现GNFS一般数域筛】构造特定的整系数不可约多项式:涉及素数、模运算和优化问题
115 0
|
28天前
|
Python
蓝桥杯练习题(一):Python组之入门训练题
这篇文章是关于蓝桥杯Python组的入门训练题,包括Fibonacci数列、圆的面积、序列求和和A+B问题的具体代码实现和样例输出。
95 0
|
28天前
|
存储 机器学习/深度学习 算法
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
蓝桥杯Python编程练习题的集合,涵盖了从基础到提高的多个算法题目及其解答。
50 3
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
|
28天前
|
人工智能 Python
蓝桥杯练习题(四):Python组之历届试题三十题
关于蓝桥杯Python组历届试题的三十个练习题的总结,包括题目描述、输入输出格式、样例输入输出以及部分题目的解题思路和代码实现。
24 0
蓝桥杯练习题(四):Python组之历届试题三十题
|
6月前
|
Python
Python编程作业五:面向对象编程
Python编程作业五:面向对象编程
67 1
|
28天前
|
存储 机器学习/深度学习 算法
蓝桥杯练习题(二):Python组之基础练习三十题
蓝桥杯Python编程练习题的集合,包含了三十个不同难度的编程题目,覆盖了基础语法、数据结构和算法等领域。
23 0
|
6月前
|
数据安全/隐私保护 Python
python作业
python作业
38 2
|
6月前
|
存储 传感器 Python
Python编程作业四:文件操作
Python编程作业四:文件操作
78 0
|
6月前
|
存储 算法 Python
Python编程作业一:程序基本流程
Python编程作业一:程序基本流程
59 0