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

长沙做网站的包吃包住4000百度指数搜索热度大学

长沙做网站的包吃包住4000,百度指数搜索热度大学,用sqlite3做网站,如何攻击织梦做的网站方法分治法求解棋盘覆盖问题 如何应用分治法求解棋盘覆盖问题呢?分治的技巧在于如何划分棋盘,使划分后的子棋盘的大小相同,并且每个子棋盘均包含一个特殊方格,从而将原问题分解为规模较小的棋盘覆盖问题。 基本思路 棋盘覆盖问题是…

分治法求解棋盘覆盖问题

如何应用分治法求解棋盘覆盖问题呢?分治的技巧在于如何划分棋盘,使划分后的子棋盘的大小相同,并且每个子棋盘均包含一个特殊方格,从而将原问题分解为规模较小的棋盘覆盖问题。

基本思路

棋盘覆盖问题是指在一个大小为2n * 2n的棋盘上,去掉其中一个方格后,用L型骨牌(覆盖3个方格)将其完全覆盖。分治法是一种解决该问题的有效算法。

当 k>0 时,将 2^k * 2^k 棋盘分割为 4 个 2^(k-1) * 2^(k - 1)子棋盘,如下图(f)所示。特殊方格必位于4 个较小子棋盘之一种,其余 3 个子棋盘中无特殊方格。为了将这 3 个无特殊方格的子棋盘转化为特殊棋盘,可以用一个 L 型骨牌覆盖这 3 个较小棋盘的会合处,如下图(g)所示。从而将原问题转化为 4 个较小规模的棋盘覆盖问题。递归地使用这种分割,直至棋盘简化为棋盘 1*1。
在这里插入图片描述

代码实现

#include <stdio.h>
int board[100][100] = { 0 };
int tile = 1;
//棋盘覆盖 
void ChessBoard(int tr, int tc, int dr, int dc, int size) {if (size == 1)return;int t = ++tile,s = size / 2;//覆盖左上角棋盘if (dr < tr + s && dc < tc + s)//特殊方格在棋盘中{ChessBoard(tr, tc, dr, dc, s);}else {//特殊方格不在棋盘中,则从中间覆盖一个方格board[tr + s - 1][tc + s - 1] = t; //赋值特殊方格类型ChessBoard(tr, tc, tr + s - 1, tc + s - 1, s);//从左上角继续划分 }//覆盖右上角棋盘if (dr < tr + s && dc >= tc + s)//特殊方格在棋盘中{ChessBoard(tr, tc + s, dr, dc, s);}else {//特殊方格不在棋盘中,则从中间覆盖一个方格board[tr + s - 1][tc + s] = t; //赋值特殊方格类型ChessBoard(tr, tc + s, tr + s - 1, tc + s, s);//从右上角继续划分 }//覆盖左下角棋盘if (dr >= tr + s && dc < tc + s)//特殊方格在棋盘中{ChessBoard(tr + s, tc, dr, dc, s);}else {//特殊方格不在棋盘中,则从中间覆盖一个方格board[tr + s][tc + s - 1] = t; //赋值特殊方格类型ChessBoard(tr + s, tc, tr + s, tc + s - 1, s);//从左下角继续划分 }//覆盖右下角棋盘if (dr >= tr + s && dc >= tc + s)//特殊方格在棋盘中{ChessBoard(tr + s, tc + s, dr, dc, s);}else {//特殊方格不在棋盘中,则从中间覆盖一个方格board[tr + s][tc + s] = t; //赋值特殊方格类型ChessBoard(tr + s, tc + s, tr + s, tc + s, s);//从左下角继续划分 }
}
int  main(void) {int size, dr, dc;printf("请输入棋盘的行或列号:");scanf("%d", &size);printf("请输入特殊方格的行或列号:");scanf("%d %d", &dr, &dc);board[dr][dc] = 1;ChessBoard(0, 0, dr, dc, size);for (int i = 0;i < size;i++) {for (int j = 0;j < size;j++)printf("%d\t", board[i][j]);printf("\n");}return 0;
}

运行结果

在这里插入图片描述
如上图所示,相同的数字就代表了一个L型的骨牌。

http://www.yidumall.com/news/9829.html

相关文章:

  • dw自己做网站需要什么名优网站关键词优化
  • 网站制作完成后应进入什么阶段在线推广企业网站的方法有
  • 青海省建设厅通报网站正规seo排名多少钱
  • 哪些公司做网站开发整合营销名词解释
  • 网站定位的核心意义北京网站优化策略
  • 纪检监察网站建设背景缅甸新闻最新消息
  • 上海网站公安局备案真正免费的网站建站平台
  • 苏州企业建设网站公司搜索引擎网站优化推广
  • 网站开发必须要要掌握的语言临沂seo推广
  • 建筑模板分为哪几类seo 推广
  • wordpress paypal插件武汉网站设计十年乐云seo
  • 哪家做网站好接广告的网站
  • 电子商务网站的建站目标网络营销服务策略
  • 做ppt兼职网站各城市首轮感染高峰期预测
  • 旅游网站建设风险分析北京网站优化外包
  • 怎么做国外的网站推广5151app是交友软件么
  • 做个网站做蔬菜批发潮州seo
  • 制作网站的最新软件是什么企业网站的作用
  • 深圳服务平台网站免费优化网站排名
  • 网站缓存优化怎么做百度推广公司怎么代理到的
  • 淄博张店网站建设自助建站系统平台
  • 深圳b2b2c网站建设网站建设及网络推广
  • 网站建设沟通梁水才seo优化专家
  • 旅游响应式网站建设谷歌广告联盟一个月能赚多少
  • 网站定制二次开发抖音关键词排名系统
  • 做笔记的网站源码百度注册新账号
  • dede古风类网站源码seo推广服务哪家好
  • 品牌策划服务免费seo软件推荐
  • 珠海集团网站建设外包怎么策划一个营销方案
  • 国家建设部门三类人员官方网站网站整站优化