题意: 经典的递归题, 要求:除了要求 横竖都填满 1~9外, 每个3*3也都要求满足 1~9 36. 数组可以部分填充, 问是否一个有效的 sudoku. 写了个好烧脑的 四重循环来check 3*3 的部分。 重点在于 用数组作为hash 。 然后对于 check 3*3 部分, 其实就是9个小 ...
分类:
其他好文 时间:
2018-11-25 12:03:08
阅读次数:
224
【题目链接】 http://poj.org/problem?id=3074 【算法】 将数独问题转化为精确覆盖问题,用Dancing Links求解 转化方法如下 : 我们知道,在一个数独中 : 1.每个格子填且只填一个数 2.每一行填1-9这九个数 3.每一列填1-9这九个数 4.每个格子填1-9 ...
分类:
其他好文 时间:
2018-07-04 15:12:02
阅读次数:
348
任务:实现一个能够生成数独局并且能求解数独问题的控制台程序。 1、GitHub:https://github.com/MiaoZhou48/SoftwareEngineeringProject 2、时间耗费 PSD2.1 3、解题思路: 此项目可以细分为两个功能:生成数独、解数独。 生成数独我考虑采 ...
分类:
其他好文 时间:
2018-04-24 11:18:34
阅读次数:
166
数独问题 https://github.com/1120161897tangzhangqi/sudoku(github网址) 开发时间 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 · Estimate · ...
分类:
其他好文 时间:
2018-04-23 00:14:16
阅读次数:
154
题干描述 就是一个数独问题 这道题说是剪枝,但是我觉得主要还是好在gw老师的设置的数据结构太好了。见代码。 当要在一个空格子(0)放数字时,直接放那些在这个空格子所在行、列、3*3小方框没出现过的数字,这样效率不就高了许多吗? 但是,找到这些已经出现过的数字呢?记录下来?或者搜索一下? gw老师的办 ...
分类:
其他好文 时间:
2018-03-08 19:39:13
阅读次数:
218
零.Github链接 https://github.com/xxr5566833/sudo 一.PSP表格 二.解题思路描述 这道题一共有两个部分,一部分是生成数独终局,另一部分是解决给定数独问题,两者都要把最后的数独结果输出到文件中。 1.数独生成 数独生成一开始就想到用递归回溯的方法搜索所有的可 ...
分类:
其他好文 时间:
2017-09-26 21:10:08
阅读次数:
292
问题 G: [cqoi2013]新数独 题目描述 输入 输入一共15行,包含一个新数独的实例。第奇数行包含左右方向的符号(<和>),第偶数行包含上下方向的符号(^和v)。 输入一共15行,包含一个新数独的实例。第奇数行包含左右方向的符号(<和>),第偶数行包含上下方向的符号(^和v)。 输出 输出包 ...
分类:
其他好文 时间:
2017-09-17 15:18:16
阅读次数:
249
本文简单分析DancingLinks实现中的数据结构设计,给出了精确覆盖问题及其扩展问题的代码。并应用于数独问题。 先简单描写叙述一下精确覆盖问题: 给定一个N*M的01矩阵,从中选中若干行,这些行向量相加后每一个分量的值都是1。这种行向量集合称为对列的一个精确覆盖。问题可能是找到一个解。或者找到解 ...
分类:
其他好文 时间:
2017-07-18 20:58:38
阅读次数:
156
Dancing Links是使用双向循环十字链表的数据结构通过dfs来实现解决精确覆盖问题的强有力的武器。 而数独问题可以转化为精确覆盖问题。 通过将每个限制转化为列。每个决策转化为行。 建模型:行数为9*9*9,数独中,第i行j列放数字k的状态存储在图中第(i*9+j)*9+k行中列数为9*9+9 ...
分类:
其他好文 时间:
2017-04-14 16:33:16
阅读次数:
228
题目链接: https://leetcode.com/problems/sudoku-solver/?tab=Description Problem : 解决数独问题,给出一个二维数组,将这个数独进行求解。 思路: 嵌套循环,三层循环体,每一行,每一列,填入从1到9的数字。判断填入之后是否合理 判断 ...
分类:
其他好文 时间:
2017-03-11 15:44:03
阅读次数:
136