设计实现
主要分为以下几个函数模块
1、生成数独终局
FILE *fp/*指向待写入文件*/,*fps/*指向待读取文件*/;
void swap(int i, int begin);/*交换seed数组中的两个数*/
void put();/*将生成的数独和求解出来的数独写回文件sudoku.txt*/
void swap_x(int a,int b);/*为了对存有数独终局的x数组进行行变换,形成新的更多的数独终局,交换x数组的两行数*/
void sudoku();/*x数组第一行形成一个全排列数后,根据第一行生成一个数独终局并进行行变换生成更多数独终局嵌套swap(),swap_x(int x,int y),put()三个函数*/
void Permutation(int begin);/*递归生成seed数组的一个全排列数后,将seed数组所有数和x[0][0]合并为a数组第一行,嵌套sudoku()函数*/
int main();/*主函数*/
2、解数独
FILE *fp/*指向待写入文件*/,*fps/*指向待读取文件*/;
void put();/*将生成的数独和求解出来的数独写回文件sudoku.txt*/
void dfs(int row, int col);/*回溯求解数独*/
int main();/*主函数*/