数独游戏矩阵设计实现1
需积分: 0 40 浏览量
更新于2022-08-08
收藏 23KB DOCX 举报
数独游戏矩阵设计实现1
数独游戏矩阵设计实现1是指通过算法生成一个合法的数独矩阵。数独矩阵是一个9x9的二维数组,每一宫又分为九个小格。在这八十一格中给出一定的已知数字和解题条件,利用逻辑和推理,在其他的空格上填入1-9的数字。使1-9每个数字在每一行、每一列和每一宫中都只出现一次。
在设计实现中,我们首先生成一个9x9的二维数组,然后使用深度优先算法和回溯算法来生成一个合法的数独矩阵。我们首先生成三个宫格的数字,分别将三个宫格的数字打乱顺序后填入蓝色格式。然后,我们遍历每个格子,排除不可填的数字之后,随机给它填入一个数字。如果发现当前格子没有可填的值,则退回去上一个格子,将此格子原有的值排除后再重新选一个新的值填入。如果发现也没有合适的值,再退一个格子。
在实现中,我们使用了以下几个函数:
1. get_random_unit():生成一个随机的数字列表,包含1-9的数字。
2. print_grid(arr):打印出矩阵的内容。
3. get_row(row):获取某一行的数字。
4. get_col(col):获取某一列的数字。
5. get_block(num):获取某一宫格的数字。
6. get_block_seq(row, col):获取某个格子的宫格序号。
7. get_enable_arr(row, col):获取某个格子的可填数字列表。
我们使用main()函数来生成一个合法的数独矩阵。
数独游戏矩阵设计实现1的算法可以分为以下几个步骤:
1. 初始化一个9x9的二维数组。
2. 生成三个宫格的数字,分别将三个宫格的数字打乱顺序后填入蓝色格式。
3. 遍历每个格子,排除不可填的数字之后,随机给它填入一个数字。
4. 如果发现当前格子没有可填的值,则退回去上一个格子,将此格子原有的值排除后再重新选一个新的值填入。
5. 如果发现也没有合适的值,再退一个格子。
6. 重复步骤3-5,直到生成一个合法的数独矩阵。
数独游戏矩阵设计实现1使用深度优先算法和回溯算法来生成一个合法的数独矩阵,是一个经典的算法问题。
永远的12
- 粉丝: 1044
- 资源: 320
最新资源
- java复习题(程序填空).doc
- java基础知识大全(必看经典).pdf
- SQL-Server-数据库管理维护规范.docx
- java练习题(含答案).pdf
- 高等教育SQLTSQL编程.pptx
- 基于java的高校党员信息管理系统的设计与实现开题报告.doc
- 基于JavaWeb技术的旅游网站的设计与实现(含源文件).doc
- 工业机器人操作与编程机器人运动指令.ppt
- 科技信息大数据电子商务模板.pptx
- javaee实验报告.doc
- 移动式机械臂安全平稳抓取[罗马大学-Giuseppe Oriolo]
- inode linux安装指南
- amd gcn3 instruction set document
- 图书管理系统(C语言)(有文件保存)
- 人形机器人之间的协同合作运输方案[罗马大学-Giuseppe Oriolo]
- UN R171 关于批准车辆驾驶员控制辅助系统(DCAS)统一规定