摘要:
这是本次项目花费时间表格,总体来说效率不高,但是我希望能够通过今后的努力,百尺竿头更进一步。 阅读全文
摘要:
关键代码展示: //判断该数字在当前数独是否符合要求 int judge(int num, int ple){ int x = ple / 9; //x表示数字的纵坐标 int y = ple % 9; //y表示数字的横坐标 int qulx = x / 3; int quey = y / 3; 阅读全文
摘要:
在运用输入输出I/O函数中,最开始是运用的fprintf进行写入,称为程序1.0版本,在进行性能诊断的时候,我发现在生成1000000个数独终局过程竟然总共耗费了5分钟!而用VS诊断中,光fprintf函数就耗费了99.9%的时间,所以我决定加以改进。 表一 输出字符串100万次的时间(单位:us) 阅读全文
摘要:
对于指令的判断: 首先整个项目的指令集总共两个:sudoku.exe -c xxx Sudoku.exe -s xxx 那么判断指令是否正确也就变得简单了,首先argc一定为三,只要argc!=3那么指令一定不符合要求,其次,-c代表得到要求个数的输入终局,如果其后面的数字小于0,那么肯定是错的,而 阅读全文
摘要:
argc,*argv[]的用法和含义: main函数是可以带参数的,不过这个参数可以认为是它的形式参数 C语言规定main函数的参数只能有两个,习惯上这两个参数写为argc和argv。因此,c语言main函数的两个参数可写为: main(int argc,char *argv[]) 而其中argc表 阅读全文
摘要:
求解数独: 首先了解数独规则:9*9网格,同时分成9个九宫格,有固定数字,而我们的任务是将剩余无数字部分填满,达到每一行,每一列,每一个九宫格都没有相同数字的要求。 而如何用计算机进行求解呢?计算机的深度优先搜索(dfs)可以解决这个问题,搜索的时间复杂度规模十分的大,所以在不知道如何进行优化的时候 阅读全文
摘要:
解题思路描述: 数独游戏,对于我们并不陌生,在意林和读者期刊的尾页不时会有刊登,所以规则是了解的:9*9网格,同时分成9个九宫格,有固定数字,而我们的任务是将剩余无数字部分填满,达到每一行,每一列,每一个九宫格都没有相同数字的要求。 首先第一个任务是生成数独终局:解决的方法有两种。 第一种方法:在排 阅读全文
摘要:
这是开始项目时对自己计划的要求: 阅读全文