位运算解决八皇后
2021/6/11 10:50:54
本文主要是介绍位运算解决八皇后,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
def queenSettle(row,colomn,pie,na): global count if row == N: count += 1 return bits = (~(colomn | pie | na)) & ((1 << N)-1) while bits > 0: p = bits & -bits queenSettle(row+1,colomn | p,(pie | p) >> 1,(na | p) << 1) bits = bits & (bits-1) count = 0 N = 13 queenSettle(0,0,0,0) print(count)
def DFS(row, shu, pie, na): global count bits = ((1 << n) - 1) & ~(shu | pie | na) # 当前行还能放置皇后的列 while bits: # 枚举可用的列 p = bits & -bits bits ^= p if row == n - 1: count += 1 else: DFS(row + 1, shu | p, (pie | p) >> 1, (na | p) << 1) # 设置标记并移位 n = 8 count = 0 DFS(0, 0, 0, 0) print(count)
这篇关于位运算解决八皇后的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-20测试人员都是画画大神,让我看看谁还不会用代码图?
- 2024-05-20年薪百万的程序员都在用的摸鱼方式……
- 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多数据源,看这篇就够了