数独项目--关键代码展示:
关键代码展示:
//判断该数字在当前数独是否符合要求
int judge(int num, int ple){
int x = ple / 9; //x表示数字的纵坐标
int y = ple % 9; //y表示数字的横坐标
int qulx = x / 3;
int quey = y / 3; //que表示9宫格的区域
for (int i = 0; i < 9; i++){
if (map[x][i] == num){
return 0;
}
}
for (int i = 0; i < 9; i++){
if (map[i][y] == num){
return 0;
}
}
for (int i = 0; i < 3; i++){
for (int j = 0; j < 3; j++){
if (map[qulx * 3 + i][quey * 3 + j] == num)
return 0;
}
}
return 1;
}
void getans(int next){
if (temp == 1){ //目的是只生成一个解
return;
}
if (next == 81){
char lis[600];
temp = 1; //temp=1就可以使递归跳出,避免求得多个解
int bi = 0;
for (int i = 0; i < 9; i++){
for (int j = 0; j < 9; j++){
if (j == 0)lis[bi++] = map[i][j] + '0';
else {
lis[bi++] = ' ';
lis[bi++] = map[i][j] + '0';
}
}
lis[bi++] ='\n';
}
lis[bi++] = '\n';
lis[bi] = '\0';
fputs(lis, fp);
return;
}
if (map[next / 9][next % 9] != 0){ //如果点有数字,则调到下一个网格
getans(next + 1);
return;
}
for (int i = 1; i <= 9; i++){
if (judge(i, next)){
map[next / 9][next % 9] = i;
getans(next + 1);
map[next / 9][next % 9] = 0; //回溯
}
}
}
//根据上文给的算法进行数独的生成
void makesudo(int list[9]){
int lists[9];
char lis[600];
int bi = 0;
for (int i = 0; i < 9; i++){
for (int j = 0; j < mov[i]; j++){
lists[mov[i] - 1 - j] = list[8 - j];
}
for (int j = 0; j < 9 - mov[i]; j++){
lists[j + mov[i]] = list[j];
}
for (int j = 0; j < 9; j++){
if (j == 0) lis[bi++] = lists[j] + '0';
else{
lis[bi++] = ' ';
lis[bi++] = lists[j] + '0';
}
}
lis[bi++] = '\n';
}
lis[bi++] = '\n';
lis[bi] = '\0';
nown++;
fputs(lis, fp);
if (nown == n){
return;
}
}
转载于:https://www.cnblogs.com/P814264306/p/8810868.html
数独项目--关键代码展示:相关推荐
- MLAT-Autoencoders---下篇-关键代码及结果展示(1)
自编码器的实现(python) 本节主要展示了应用深度前馈.稀疏约束神经网络构建自编码器.另外卷积自编码器对图像进行去噪这一应用也非常实用,将在单独放在下篇展示. 1.导入各类包 from pathl ...
- MLAT-Autoencoders---下篇-关键代码及结果展示(3)(终)
用于回报预测和交易的条件自动编码器 本节主要介绍自编码器在资产定价中的应用. 应用步骤分为: 第一步:创建包含股价和元数据信息的新数据集 第二步:计算预测资产特征 第三步:创建和训练条件式自动编码器架 ...
- 第五届北大青鸟杯全国IT精英挑战赛中南西南区域一等奖项目——日杂百货分销系统_关键代码说明书
第五届北大青鸟杯全国IT精英挑战赛中南&西南区域一等奖项目--日杂百货分销系统 关键代码说明书 作者:武汉宏鹏田超凡 版权所有,转载请注明原作者,仿冒侵权必究法律责任 日杂百货分销商城关键代码 ...
- 第五届北大青鸟杯全国IT精英挑战赛华中区一等奖项目——中商百货分销系统_关键代码说明书
第五届北大青鸟杯全国IT精英挑战赛华中区一等奖项目--中商百货分销系统 关键代码说明书 作者:武汉宏鹏田超凡 版权所有,转载请注明原作者,仿冒侵权必究法律责任 中商百货分销商城关键代码说明...... ...
- 【手把手指导】给开源项目贡献代码
很多新人学习了技术,但是没有地方施展. 问题不大,找几个开源项目来参加就可以了,需要开源项目磨练的可以联系学委. 本文重点讲解如何快速的给开源项目贡献代码. 首先你必要要有一个GitHub账号(或者G ...
- 【软件工程基础】个人数独项目介绍及制作流程
一.项目介绍 首先附上项目的GitHub地址:https://github.com/Nevermore5421/PersonalProjectSudoku 拿到题目后,发现该项目的需求与数独有关,要求 ...
- 自组网训练生成模型并推理模型完整流程,代码展示LeNet -> AlexNet -> VGGNet -> InceptionNet -> ResNet优化过程
项目简介 本项目基于20种蝴蝶分类基础上做一个深入浅出的代码理解,及其对数据预处理,自定义数据读取器Reader(Dataset),及其输出final.pdparams,final.pdopt模型,利 ...
- 干货 | 华尔街留下的指标之王(附代码展示)
壹 . 写在前面的话 有人认为价格围绕价值上下波动,研究投资标的内在价值,于是就出现了基本面派: 有人为价格反映了一切,所有的信息(包括基本面)都反映到了盘面价格中,于是就有了技术面派: 从技术面派的 ...
- 强烈推荐!分享一个持续连载的《特征工程小锦囊》项目,代码已开源!
随着我们在机器学习.数据建模.数据挖掘分析这条发展路上越走越远,其实越会感觉到特征工程的重要性,平时我们在很多地方都会看到一些很好的特征工程技巧,但是都会是一个完整项目去阅读,虽然说这样子也可以学习挖 ...
最新文章
- windows 7下同时安装visual studio 2012和2010
- DevCon工具基本使用
- 图着色问题贪心算法c语言,区间图着色问题(贪心算法)C++实现
- 日志,错误日志,成功日志,日志是个好东西。
- springboot内置tomcat,会和Oracle端口冲突,所以需要配置新的端口号
- 点击area不出现黑框_一切小黑屋,都能被黑框玻璃门治愈 | 附安装法则
- 史上最强的下载器,没有之一
- 2018中国旅游统计年鉴
- 前端偶数行有底纹怎么写_如何在Excel中的替代行上应用底纹
- 英雄无敌6服务器在哪个文件夹,win7系统英雄无敌6无法运行的解决方法
- 漂泊在汉语视界中的蒙古歌者
- HBase2.4.8详细教程(三)Java操作HBase
- Android实现截屏
- 森林图怎么分析_图说meta十一:森林图暨RevMan软件使用方法简介
- PgSQL修改字段备注
- vue3学习之旅--邂逅vue3-了解认识Vue3(二)
- 最新九宫格心形拼图微信小程序源码+带流量主
- 从“光棍节”到“双节棍”:今年的天猫双11大不一样
- ChatGPT秒杀了所有408考研编程题……
- 路上铺个“补丁”,智能汽车高速途中瞬间失控!应用最广自动驾驶技术被曝漏洞 | 字节跳动参与的新研究...