当前位置: 首页 > news >正文

深圳网站建设 贴吧/百度收录快速提交

深圳网站建设 贴吧,百度收录快速提交,营销型网站建设开发价格,如何写网站建设方案我的GitHub项目地址 经过今天的努力,总算把第一个生成数独的版本做出来了。源码传到GitHub上了。。。但是居然不能创建文件夹,还要安装Git插件。。。昨天和今天的时间主要花在思考编码和调试上了。还久没写c了,感觉有点生疏,所以第…

我的GitHub项目地址
经过今天的努力,总算把第一个生成数独的版本做出来了。源码传到GitHub上了。。。但是居然不能创建文件夹,还要安装Git插件。。。昨天和今天的时间主要花在思考编码和调试上了。还久没写c++了,感觉有点生疏,所以第一个版本不能接受命令行参数,也不能将输出输出到文本。。。这就有点伤了,不过做项目就是这样,在不断晚上的过程中提升自己的能力,明天继续改代码。今天先说说思路,这个数独主要是每生成一个数就判断这个数能不能符合要求。现将判断的代码贴到下面:

bool judgePosition(vector<vector<int>> &a, int row, int col)
{int val = a[row][col];//首先判断行列是否满足要求for (int i = 0; i < row; i++){if (a[i][col] == val)return false;}for (int j = 0; j < col; j++){if (a[row][j] == val)return false;}//接着判断小九宫格里是否满足要求,首先得算出需要判断的这个点所在九宫的位置int temp1 = row / 3;int row_begin = temp1 * 3;int row_end = row_begin + 2;int temp2 = col / 3;int col_begin = temp2 * 3;int col_end = col_begin + 2;int i = row_begin, j = col_begin;for (int k = 1; k <= 8; k++){if (i == row&&j == col)break;else if (a[i][j] == val)return false;if (j == col_end){j = col_begin;i = i + 1;}else{j = j + 1;}}return true;
}

该判断方法调用递归,个人感觉效率上很差。。。接下来要用效能分析进行改进。利用随机数来生成数字,使用的rand()和srand()函数参见该博客。下面就是生成数字的代码:

bool generator(vector<vector<int>> &a, int row, int col)
{//利用vector容器vector<int> generate;for (int i = 1; i <= 9; i++)generate.push_back(i);//产生随机数下标,生成数独中该位置的随机数while (!generate.empty()){int index = rand() % generate.size();a[row][col] = generate[index];generate.erase(generate.begin() + index);if (judgePosition(a, row, col) == false)continue;if (row == 8 && col == 8){return true;}int nextRow, nextCol;if (col == 8){nextRow = row + 1;nextCol = 0;}else{nextRow = row;nextCol = col + 1;}bool nextPoint = generator(a, nextRow, nextCol);if (nextPoint)return true;}if (generate.empty()){a[row][col] = -100;return false;}
}

一开始那个生成随机数的算式如下1229512-20170917221329547-847483891.png这样会出现不能取到不重复数的情况:

1229512-20170917221122344-1524261793.png
但是内存好像每次都爆掉,产生数的generator函数每次都返回false,所以现改为直接对generate数组的大小取余。。。

转载于:https://www.cnblogs.com/FZU2015SOFTWARE/p/7533248.html

http://www.lbrq.cn/news/1356805.html

相关文章:

  • 海口模板建站平台/真实有效的优化排名
  • 重庆市建设工程造价站/网络推广怎么找客户资源
  • 网站建设公司yu/电商网站卷烟订货流程
  • 辽宁做网站和优化哪家好/免费线上培训平台
  • 高端网站制作价格/营销型网站建设企业
  • 自己做的网站只能用谷歌浏览器打开/怎么设置自己的网站
  • 免费的源码分享网站/google下载官网
  • 做芯片代理哪个网站推广/百度竞价推广的技巧
  • 社区微网站建设需求分析/电脑优化
  • 电商的网站/网店营销策划方案范文
  • 苏州做网站公司/杭州推广公司排名
  • 建设检测人员证书查询网站/网络运营培训班
  • 平面设计师网站/seo技术快速网站排名
  • 网站开发培训学院/付费推广
  • 发卡网站怎么做/百度搜索趋势
  • 建设一个下载网站/站长统计app下载免费
  • 低多边形网站/网络营销有哪些特点
  • 网站登录界面模板下载/昆明网络营销公司哪家比较好
  • seo网站诊断书/seo教程视频
  • 响应式网站定制开发/正规软件开发培训学校
  • 杭州网站设计公司电话/广告推广怎么做最有效
  • 外贸营销型网站/每日一则小新闻
  • 做网站用什么浏览器/seo 推广服务
  • asp.net做网站如何展示界面/seo推广策划
  • 网站icp备案证明文件/百度网盘app怎么打开链接
  • 彩票网站开发b9kj/网络营销推广方案论文
  • 广州网站建设怎么样/软文自助发稿平台oem
  • 建设公司网站的内容/网页制作的步骤
  • dw网站建设基本流程/semaphore
  • 这么做3d网站/最好的网站推广软件
  • 【golang】基于redis zset实现并行流量控制(计数锁)
  • 企业后端系统常用数据源类型有哪些?
  • jmm 指令重排 缓存可见性 Volatile 内存屏障
  • LLM开发——语言模型会根据你的提问方式来改变答案
  • 前端1.0
  • 小鹏汽车前端面经