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

每天做任务得钱的网站精准的搜索引擎优化

每天做任务得钱的网站,精准的搜索引擎优化,简约式网站模板,苏中建设南京区域公司描述 一张普通的国际象棋棋盘,它被分成 8 乘 8 (8 行 8 列) 的 64 个方格。设有形状一样的多米诺牌,每张牌恰好覆盖棋盘上相邻的两个方格,即一张多米诺牌是一张 1 行 2 列或者 2 行 1 列的牌。那么,是否能够把 32 张多米诺牌摆放…

描述

一张普通的国际象棋棋盘,它被分成 8 乘 8 (8 行 8 列) 的 64 个方格。设有形状一样的多米诺牌,每张牌恰好覆盖棋盘上相邻的两个方格,即一张多米诺牌是一张 1 行 2 列或者 2 行 1 列的牌。那么,是否能够把 32 张多米诺牌摆放到棋盘上,使得任何两张多米诺牌均不重叠,每张多米诺牌覆盖两个方格,并且棋盘上所有的方格都被覆盖住?我们把这样一种排列称为棋盘被多米诺牌完美覆盖。这是一个简单的排列问题,同学们能够很快构造出许多不同的完美覆盖。但是,计算不同的完美覆盖的总数就不是一件容易的事情了。不过,同学们 发挥自己的聪明才智,还是有可能做到的。
现在我们通过计算机编程对 3 乘 n 棋盘的不同的完美覆盖的总数进行计算。

 



任务
对 3 乘 n 棋盘的不同的完美覆盖的总数进行计算。

输入

一次输入可能包含多行,每一行分别给出不同的 n 值 ( 即 3 乘 n 棋盘的列数 )。当输入 -1 的时候结束。

n 的值最大不超过 30.

输出

针对每一行的 n 值,输出 3 乘 n 棋盘的不同的完美覆盖的总数。

样例输入

2
8
12
-1

样例输出

3
153
2131

解题分析

首先,由于多米诺牌本身占两个格子,所以如果完全覆盖的话,那么n一个要偶数,否则3乘上一个奇数会导致格子总数为奇数,这就矛盾了。

然后,我们可以明显地感知到,我们当前排列的结果与前面的排列是有一定关系的。我们先计算一个n=2的时候,这是最小的单元(n=1的时候很明显,不可能被完全覆盖,或者从n必须为偶数理解)。我们自己脑子里摆一摆,知道n=2的时候有三种摆法。现在我们设置一个数组dp,dp[i]表示n=i时的摆法。显然,dp[i]中有一部分摆法是3*dp[i-2]。但是这显然没有包括全部的情况。那我们还漏掉了哪些情况?

简单举个例子,有两种很重要的情况被我们忽略了。比如n=4的时候,如果我们只是计算3*dp[2],那实际上我们在n=2,3这两列可以横着放多米诺牌。这部分被我们忽略了。所以我们还需要考虑dp[i-4],即我们空出四列出来,然后计算dp[i-4]*2,然后保持这两列横着放,继续i-=2,因为我们刚刚使用了dp[i-4],这是没有考虑i-4和i-5列横着放并且i-3和i-2列横着放的情况。

代码实现

#include <iostream>
using namespace std;
int dp[31]={0};int compute(int m){if(dp[m]) return dp[m];for(int i=4;i<=30;i++){dp[i]=dp[i-2]*3;for(int j=i-4;j>=0;j-=2){dp[i]+=dp[j]*2;}}return dp[m];
}int main(){int n;dp[0]=1;dp[2]=3;while(cin>>n){if(n==-1){break;                                                                                                                                                                                                                                                                                          }cout<<compute(n)<<endl;}return 0;
}

http://www.zhongyajixie.com/news/39357.html

相关文章:

  • wordpress 更新过慢系统优化app
  • 做外贸网站一般多少钱怎么注册一个自己的网址
  • 编程学校seo基础培训机构
  • 龙岩市住房和城乡建设厅网站首页免费推广的方式
  • 购买b2c网站网站关键字优化公司
  • 工业信息化网站备案系统赣州seo唐三
  • 网站建设企业网站制作新东方培训机构官网
  • laravel 跳转到其他网站无线网络优化是做什么的
  • 苏州网站建设 凡仕臣网络企业网络营销策略
  • 电子商务网站建设目标青岛seo整站优化
  • 百度的网站网址百度小说排行榜2021
  • seo资源网站 排名怎么写软文推广
  • 广东建设网工程信息网站太原全网推广
  • 微信公众平台怎么做微网站熊猫seo实战培训
  • 北京理工大学网站开发与应用seo必备软件
  • 拍卖网站咋做品牌宣传推广策划方案
  • 上海电子商务网站制作公司网站seo收录工具
  • wordpress 删除缩略图太原seo网站管理
  • 亳州市网站建设济南seo优化
  • ftp怎么做网站的备份seo搜索排名优化
  • 在网站用什么做页面布局爱站之家
  • 红色培训网站源码百度企业推广怎么收费
  • 企业建站系统java网页版百度
  • 宣传片拍摄公司排名成都企业seo
  • 城阳网站建设中国企业500强
  • 马鞍山网站建设公全国疫情最新报告
  • 华为手机一键优化宁波seo网站推广
  • 专门设计的网站中国软文网官网
  • 学校网站做网页飘窗怎么做自助发稿
  • 域名网站这么做千网推软文推广平台