|
|
|
@ -1,2 +1,32 @@
|
|
|
|
|
# sudoku_pyh
|
|
|
|
|
# 数独问题
|
|
|
|
|
|
|
|
|
|
> author 潘羽涵
|
|
|
|
|
|
|
|
|
|
** belong to Group27**
|
|
|
|
|
GMs:张希晋 王逸铎 潘羽涵 周原驰(L) 赵恒 易煜轩
|
|
|
|
|
|
|
|
|
|
## main
|
|
|
|
|
|文件|内容|
|
|
|
|
|
|:-:|:-:|
|
|
|
|
|
|all.c| 填充任务,m4|
|
|
|
|
|
|all.h |全部头文件|
|
|
|
|
|
|format.c| 格式化输出,m1|
|
|
|
|
|
|generate.c| 生成,m2|
|
|
|
|
|
|judge.c| 判别,m3|
|
|
|
|
|
|fill.c| 填充,m4|
|
|
|
|
|
|
|
|
|
|
说明:fill.c填充的是随机数独,由于无法平衡搜索数的大小与随机数独的合法率,测试者可以选择从format.h中自取数独进行测试。
|
|
|
|
|
|
|
|
|
|
## details
|
|
|
|
|
Sudoku 是一个封装好的结构体,作者纯粹出于不想看到`int[9][9]`而写
|
|
|
|
|
tag 是一个`int[9][9]`,里面每一个`int`储存的是一个二进制状态,表示该位置上填入[0-9]之间的数,**分别**是可以的还是不可以的
|
|
|
|
|
以sudoku 开头的函数均与suduko相关~~(废话)~~
|
|
|
|
|
以ptr 开头函数用于管理内存
|
|
|
|
|
以tag 开头的函数用于修改标签状态
|
|
|
|
|
|
|
|
|
|
## algorithm
|
|
|
|
|
见洛谷原题题解:
|
|
|
|
|
https://www.luogu.com.cn/problem/solution/P1784
|
|
|
|
|
其中的同类方法:
|
|
|
|
|
https://www.luogu.com.cn/blog/Always1/solution-p1784
|
|
|
|
|
https://www.luogu.com.cn/blog/infinity-dimension/Sudoku
|
|
|
|
|