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

cpa没有网站怎么做万网个人网站建设教程

cpa没有网站怎么做,万网个人网站建设教程,制作个人网站的六个步骤,wordpress js加载慢分治法求解棋盘覆盖问题 如何应用分治法求解棋盘覆盖问题呢?分治的技巧在于如何划分棋盘,使划分后的子棋盘的大小相同,并且每个子棋盘均包含一个特殊方格,从而将原问题分解为规模较小的棋盘覆盖问题。 基本思路 棋盘覆盖问题是…

分治法求解棋盘覆盖问题

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

基本思路

棋盘覆盖问题是指在一个大小为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.yayakq.cn/news/399539/

相关文章:

  • 建站行业前景怎么样wordpress搜索验证登录页面
  • 做网站需要的素材照片国外网站服务器地址
  • 如何做网站的主页网络营销是不是网络销售
  • 建设通网站免费注册做礼品的网站
  • 旅行社网站程序网络营销课程主要讲什么内容
  • 秦皇岛网站备案产品开发流程6个步骤
  • 谷哥做网站 是如何推广的中国软装网
  • 做移动类网站的书推荐免费推广引流平台推荐
  • 那个视频网站最好最全网址昆明app开发公司
  • 高安做网站重庆市建设项目环境申报表网站
  • 怎么利用花生壳做自己的网站自己做网站 需要哪些
  • 北京平台网站建设方案网站营销网
  • 网站建设需要哪些工作西安做百度网站的
  • c 与oracle做网站个人如何开发小程序
  • 网站源代码分列怎么做做教育类的网站名
  • 网站开发甲方需求文档深圳龙华好还是龙岗好
  • 网站在线咨询代码免费微信小程序制作平台?
  • 文明网站的建设与管理几点思考王烨个人简历
  • 婚庆网站模板北京网站建设seo公司哪家好
  • 深圳乐创网站建设企业营业执照查询网上查询
  • 优化网站搭建上海网站建设公司价格
  • 珠海网站搭建ui设计说明万能模板
  • 简述网站的建设方案银行网站建设中
  • 网站建设与开发试题与答案wordpress秀主题
  • 国网北京电力建设研究院网站华强北
  • 网站建设优化兼职站长网站的优势
  • 深圳做网站的网络公司老酒街wordpress
  • 河南建设部网站官网重庆工程造价信息2021
  • 衡水企业网站制作公司wordpress 手机商城
  • 大型网站开发经典框架优化公司网站