棋盘拼接问题
来源:互联网 发布:网页版淘宝的微淘 编辑:程序博客网 时间:2024/06/06 02:26
接上一篇博客的问题:http://blog.csdn.net/zhang_xiaomeng/article/details/72954471
程序如下:
def cover(board, lab=1, top=0, left=0, side=None): if side is None: side = len(board) # Side length of subboard: s = side // 2 # Offsets for outer/inner squares of subboards: offsets = (0, -1), (side-1, 0) for dy_outer, dy_inner in offsets: for dx_outer, dx_inner in offsets: # If the outer corner is not set... if not board[top+dy_outer][left+dx_outer]: # ... label the inner corner: board[top+s+dy_inner][left+s+dx_inner] = lab # Next label: lab += 1 if s > 1: for dy in [0, s]: for dx in [0, s]: # Recursive calls, if s is at least 2: lab = cover(board, lab, top+dy, left+dx, s) # Return the next available label: return lab
运行:
>>> board = [[0]*8 for i in range(8)]>>> board[7][7] = -1>>> cover(board)22>>> for row in board:print((" %2i"*8) % tuple(row)) 3 3 4 4 8 8 9 9 3 2 2 4 8 7 7 9 5 2 6 6 10 10 7 11 5 5 6 1 1 10 11 11 13 13 14 1 18 18 19 19 13 12 14 14 18 17 17 19 15 12 12 16 20 17 21 21 15 15 16 16 20 20 21 -1
程序分析如下:
阅读全文
0 0
- 棋盘拼接问题
- 棋盘问题
- 棋盘问题
- 棋盘问题
- 棋盘问题
- 棋盘问题
- 棋盘问题
- 棋盘问题
- 棋盘问题
- 棋盘问题
- 棋盘问题
- 棋盘问题
- 棋盘问题
- 棋盘问题
- 棋盘问题
- 棋盘问题
- 棋盘问题
- 棋盘问题
- 在HTML中使用CSS样式的几种方式
- 信号的捕捉
- 人脸识别openface
- 远程桌面有时无法复制文件的问题
- CSS3中不熟悉的属性3:will-change
- 棋盘拼接问题
- java关键字switch
- Twitter-bootstrap-typeahead——一款模糊查询的jQuery支持ajax的组件介绍
- Settings.db在android6.0上的变化
- redis学习(1)python连接redis
- Spring 中的BeanUtils与apache中的BeanUtils用法与比较
- 40个Java多线程问题总结
- 数组指针和指针数组的区别
- iOS