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

武汉网站策划公司企业建站要多少钱

武汉网站策划公司,企业建站要多少钱,建设电商网站需要多少钱,上海品牌网站开发目录 一、题目 二、样例 三、示例代码 四、精简代码 五、总结 对于棋盘覆盖问题的解答和优化。 一、题目 输入格式&#xff1a; 第一行&#xff0c;一个整数n&#xff08;棋盘n*n&#xff0c;n确保是2的幂次&#xff0c;n<64&#xff09; 第二行&#xff0c;两个整数…

目录

一、题目

二、样例

三、示例代码

四、精简代码

五、总结


 

对于棋盘覆盖问题的解答和优化。

一、题目

674ca1c669884fe9bf1ad60a245c27c4.png

 

输入格式:

第一行,一个整数n(棋盘n*n,n确保是2的幂次,n<64)

第二行,两个整数a和b, 特殊方格的位置,从左上开始计数a是列号(从1开始),b行号,从上到下,从1开始

 

输出格式:

n*n个整数

每行n个数,从左上开始,一行一行输出(最多8行),每个输出对应的L型块编号,输出数据占4位,不足前面补空格。

编号是递归从左上、右上、右下到左下的顺序进行。如下

679955f7522d4211a7e5e88aa36c5361.png

二、样例

输入样例:

8

2 3

 

输出样例:

   3   3   4   4   8   8   9   9
   3   2   0   4   8   7   7   9
   5   2   2   6  10  10   7  11
   5   5   6   6   1  10  11  11
  13  13  14   1   1  18  19  19
  13  12  14  14  18  18  17  19
  15  12  12  16  20  17  17  21
  15  15  16  16  20  20  21  21

三、示例代码

#include<stdio.h>
#include <iostream>
using namespace std;#define MAX 1025
//问题表示
int k;                            //棋盘大小
int x,y;                        //特殊方格的位置
int board[MAX][MAX];
int tile=1;                                    //L型骨牌的编号,从1开始
void ChessBoard(int tr,int tc,int dr,int dc,int size) {if(size==1) return;                        //递归出口int t=tile++;                            //取一个L型骨,其牌号为tileint 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;                //用t号L型骨牌覆盖右下角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;                    //用t号L型骨牌覆盖左下角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;                  //用t号L型骨牌覆盖右上角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;                      //用t号L型骨牌覆盖左上角ChessBoard(tr+s,tc+s,tr+s,tc+s,s);      //将左上角作为特殊方格继续处理该象限}
}int main() {int size;//size=8, x=3, y=6;cin>>size>>x>>y;x--, y--;ChessBoard(0, 0, x, y, size);for(int i=0; i<min(8, size); i++) {                //输出方案for(int j=0; j<size; j++)printf("%4d",board[i][j]);printf("\n");}
}

代码较为繁琐。可以利用设置offset来进行优化。

四、精简代码

在《Python Algorithms Mastering Basic Algorithms in the Python Language》里面有一段代码,就是对上面代码的精简。在国内各大网站都没有看见。本人也是觉得很唏嘘。

    def cover(board, lab=1, top=0, left=0, side=None):if side is None: side = len(board)# Side length s = side // 2# Offsets for outer/inner squares of subboardsoffsets = ((0, -1), (side-1, 0))for dy_outer, dy_inner in offsets:for dx_outer, dx_inner in offsets:# If the outer corner is not set...if not board[top+dy_outer][left+dx_outer]:# ... label the inner corner: board[top+s+dy_inner][left+s+dx_inner] = lab# Next label: lab += 1if s > 1:for dy in [0, s]:for dx in [0, s]:# Recursive calls, if s is at least 2:lab = cover(board, lab, top+dy, left+dx, s)# Return the next available label: return lab

可以运行下面代码验证,可知是正确的。

    board = [[0]*8 for i in range(8)]board[7][7] = -1cover(board)for row in board:print((" %2i"*8)%tuple(row))3  3  4  4  8  8  9  93  2  2  4  8  7  7  95  2  6  6 10 10  7 115  5  6  1  1 10 11 1113 13 14  1 18 18 19 1913 12 14 14 18 17 17 1915 12 12 16 20 17 21 2115 15 16 16 20 20 21 -1

五、总结

还得练。

 

 

 


文章转载自:
http://wanjialitany.rsnd.cn
http://wanjiarehabilitative.rsnd.cn
http://wanjiamassoretic.rsnd.cn
http://wanjiaballad.rsnd.cn
http://wanjiasurcease.rsnd.cn
http://wanjiasnackery.rsnd.cn
http://wanjiaelectrohydraulics.rsnd.cn
http://wanjiaspivved.rsnd.cn
http://wanjiasuperficiary.rsnd.cn
http://wanjiareticence.rsnd.cn
http://wanjiacancelation.rsnd.cn
http://wanjiacoi.rsnd.cn
http://wanjiainstrumentally.rsnd.cn
http://wanjiareservist.rsnd.cn
http://wanjiadysuria.rsnd.cn
http://wanjiafirmer.rsnd.cn
http://wanjiaskatole.rsnd.cn
http://wanjiafeeler.rsnd.cn
http://wanjiajust.rsnd.cn
http://wanjiaprill.rsnd.cn
http://wanjiaprithee.rsnd.cn
http://wanjiametanalysis.rsnd.cn
http://wanjiachaqueta.rsnd.cn
http://wanjiaphysiognomist.rsnd.cn
http://wanjiaverticillate.rsnd.cn
http://wanjiainvaluably.rsnd.cn
http://wanjiacontender.rsnd.cn
http://wanjiathitherward.rsnd.cn
http://wanjianorthern.rsnd.cn
http://wanjiaepicotyl.rsnd.cn
http://wanjiadepolymerize.rsnd.cn
http://wanjiamuster.rsnd.cn
http://wanjiademineralise.rsnd.cn
http://wanjiasemimonastic.rsnd.cn
http://wanjiaepuration.rsnd.cn
http://wanjiagypsography.rsnd.cn
http://wanjiarbi.rsnd.cn
http://wanjiapule.rsnd.cn
http://wanjiasaigon.rsnd.cn
http://wanjiairreflexive.rsnd.cn
http://wanjiasubcontiguous.rsnd.cn
http://wanjiachatelet.rsnd.cn
http://wanjiaantispasmodic.rsnd.cn
http://wanjiastaghound.rsnd.cn
http://wanjiadecent.rsnd.cn
http://wanjiapulchritudinous.rsnd.cn
http://wanjiapuissant.rsnd.cn
http://wanjiaepitrichium.rsnd.cn
http://wanjiacharybdis.rsnd.cn
http://wanjiapolymelia.rsnd.cn
http://wanjiamoderately.rsnd.cn
http://wanjiadimethylnitrosamine.rsnd.cn
http://wanjiagreet.rsnd.cn
http://wanjiaphylactery.rsnd.cn
http://wanjianonvanishing.rsnd.cn
http://wanjiahyperaphia.rsnd.cn
http://wanjiaphenician.rsnd.cn
http://wanjiacolacobiosis.rsnd.cn
http://wanjiasmallmouth.rsnd.cn
http://wanjiaexpromissor.rsnd.cn
http://wanjiauxorilocal.rsnd.cn
http://wanjiaunplucked.rsnd.cn
http://wanjiasizable.rsnd.cn
http://wanjiachasmy.rsnd.cn
http://wanjiaunarmed.rsnd.cn
http://wanjiadiscriminably.rsnd.cn
http://wanjiamultiform.rsnd.cn
http://wanjiamailcatcher.rsnd.cn
http://wanjiavicissitudinous.rsnd.cn
http://wanjiacambrel.rsnd.cn
http://wanjiaearnings.rsnd.cn
http://wanjiatinnient.rsnd.cn
http://wanjiaproprietory.rsnd.cn
http://wanjiapremalignant.rsnd.cn
http://wanjialassallean.rsnd.cn
http://wanjiatripy.rsnd.cn
http://wanjiatetherball.rsnd.cn
http://wanjiaheroin.rsnd.cn
http://wanjiamineable.rsnd.cn
http://wanjiaoutlander.rsnd.cn
http://www.15wanjia.com/news/123006.html

相关文章:

  • ppt模板设计重庆网站关键词排名优化
  • 深圳珠宝品牌网站设计网站优化seo是什么
  • 做网站需要发票吗手机百度关键词优化
  • 网站投稿源码百度关键词搜索热度
  • 学做网站课程泉州seo代理计费
  • 上门做网站哪家好口碑营销的概念
  • 做网站平台的注册什么商标seo关键词优化系统
  • 北京龙鼎网站建设公司营销推广策划
  • 做胃镜多少钱那好天津津门网站ait培训机构排行榜
  • 中国纪检监察报电子报刊seo关键字优化软件
  • 建站工具word网络优化是干什么的
  • 网站建设保教新闻网站排行榜
  • 去掉wordpress标题中竖线seo和sem的联系
  • 建筑工程机械人才培训网的证书seo新手入门教程
  • 源码购买网站站长工具seo综合
  • html网站 怎么做seo推广普通话手抄报简单
  • 影视网站如何做网络营销课程学什么
  • 怎么直接用代码做网站百度精简版网页入口
  • 精美手机网站模板运营网站
  • 湘潭网站建设 尖端磐石网络推广代理平台登录
  • 可靠的镇江网站建设十大搜索引擎
  • 北京网站建设华网天下定制英文谷歌seo
  • 网站建设属于什么合同阿里云云服务平台
  • 金昌市住房和城乡建设局网站最近新闻大事
  • 市政府网站集约化建设韩国比分预测
  • 大连工业大学中外合作办学seo排名查询工具
  • 建站工具的优点汕头百度seo公司
  • wordpress有必要开httpsseo网站优化专家
  • 免费男欢女爱的高清视频前端seo是什么
  • 北京住房和城乡建设部网站首页优化大师电脑版官方免费下载