题目描述

给定\(2*1\)和\(2 * 2\)两种规格的地砖,请问\(2 * n\)的地面总共有多少种方法?

下面是铺满\(2*17\)的地面的示意图。

输入输出格式

输入

多组数据,每组数据包括1行1个整数n,表示地面的长度。\((0\leq n \leq250)\)

输出

每组数据输出\(1\)行\(1\)个整数,表示铺满\(n\)米地面的方法数。

思路

因为我们知道长度为\(i\)的矩阵只能由\(i-1\)和\(i-2\)变来,又长度为一的矩阵的方法数为\(1\),长度为二的矩阵的方法数为\(3\),其中有一种相当于\(i-1\)的方法数,所以状态转移方程为\(dp[i][j]=dp[i-1][j]+dp[i-2][j]*2;\)

代码

#include<bits/stdc++.h>
using namespace std;
int dp[301][501];  //dp[i]用来存储第i列的结果,dp[i][0]存储长度
int main(){ dp[1][0]=1;  dp[1][1]=1;  dp[2][0]=1;  dp[2][1] = 3;  for(int i=3;i<=300;i++){  int len=max(dp[i-2][0],dp[i-1][0]);for(int j=1;j<=len;j++) dp[i][j]=dp[i-1][j]+dp[i-2][j]*2;  //按位加dp[i][0]=max(dp[i-2][0],dp[i-1][0]);   //取两个加数中较长的长度 for(int j=1;j<=dp[i][0];j++){dp[i][j+1]+=dp[i][j]/10;  //进位 dp[i][j]%=10;  }  while(dp[i][dp[i][0]+1]>0){ //更新高精度加法结果的位数dp[i][0]++; dp[i][dp[i][0]+1]+=dp[i][dp[i][0]]/10;  }  }  int n;  while(cin>>n){ if(n==0)cout<<1<<endl;  else{for(int i=dp[n][0];i>=1;i--)cout<<dp[n][i];   cout<<endl;  }  }return 0;
}

转载于:https://www.cnblogs.com/xzj213/p/11226764.html

POJ2806 Square相关推荐

  1. 367. Valid Perfect Square

    题目: Given a positive integer num, write a function which returns True if num is a perfect square els ...

  2. 数据挖掘公司D square nv 完成500万欧元B轮融资

    D square nv日前完成 500 万欧元 B 轮融资,融资方为 Gemma Frisius Fonds, Jürgen Ingels, Limburgse Reconversie Maatsch ...

  3. 经典算法题之Maximal Square

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者:叶    虎 Maximal Square是道非常有意思的算 ...

  4. Codeforces 895C - Square Subsets

    895C - Square Subsets 思路:状压dp. 每个数最大到70,1到70有19个质数,给这19个质数标号,与状态中的每一位对应. 状压:一个数含有这个质因子奇数个,那么他状态的这一位是 ...

  5. 【翻译】CEDEC2012 SQUARE ENIX GPGPU实现高速GI烘培工具的方法

    虽然实时GI技术已经趋于成熟了,但出于对不同平台的性能和质量的考虑, 更倾向搭配一些预计算的渲染技术来实现,如给静态物体提供GI的LightMap, 给动态物体提供GI的Irradiance Volu ...

  6. 【 MATLAB 】信号处理工具箱的信号产生函数之 square 函数简记

    因为案例需要,所以这里先看一下linspace这个函数的用法: y = linspace(x1,x2): 均匀产生位于x1 到 x2 之间的100个点: y = linspace(x1,x2,n): ...

  7. [leetcode] 367. Valid Perfect Square

    Given a positive integer num, write a function which returns True if num is a perfect square else Fa ...

  8. 洛谷 P2867 [USACO06NOV]大广场Big Square

    P2867 [USACO06NOV]大广场Big Square 题目描述 Farmer John's cows have entered into a competition with Farmer ...

  9. UVa10639 Square Puzzle(WA)

    例子通过了,并且udebug上的例子也通过了,但是提交还是错误. 针对特殊情况: 3 4 7 0 2 1 2 2 3 3 2 4 2 4 4 0 4 7 0 0 4 0 4 2 3 2 2 1 1 2 ...

  10. Codeforces 432E Square Tiling(结构体+贪婪)

    题目连接:Codeforces 432E Square Tiling 题目大意:给出一个n∗m的矩阵,要求对该矩阵进行上色,用大写字母.可是每次上色的区域必须是正方形.不求相邻的上色区域不能有同样的颜 ...

最新文章

  1. 如何将因果干预用于提升模型公平性?
  2. 在mac中导入hadoop2.6.0源代码至eclipse
  3. elasticsearch的插件安装
  4. C#如何开发多语言支持的Winform程序
  5. [剑指offer]面试题第[48]题[Leetcode][JAVA][第3题][无重复字符的最长字串][滑动窗口][HashSet/Map]
  6. AST语法结构树初学者完整教程
  7. Eclipse-阶段1-配置问题解决
  8. 安装composer并创建laravel项目流程
  9. Autofac 依赖注入框架 使用
  10. U - 计算长方体、四棱锥的表面积和体积
  11. 一个TCP FIN_WAIT2状态细节引发的感慨
  12. 画PCB必备的3D元器件模型下载地址整理
  13. CAD 二次开发 图层操作(1)创建图层
  14. bochs运行xp_简单教程:Bochsxp镜像超级简化版安装教程
  15. 机房布线网络布线之常用兵器谱
  16. elastic-job VS xxl-job
  17. vs code对python开发相关的设置
  18. 教你快速配置wordpress由http变成https访问
  19. 2016京东java待遇_Java硕士京东工作1年,跳槽后他期望薪资26K,大家感觉他可以吗...
  20. Java生成二维码 基于Google-Zxing

热门文章

  1. 计算机专业 美国,美国计算机专业的五大名校概况
  2. sql 整改措施 注入_改进的SQL防注入(加强抑错)-ASP教程,安全加密
  3. vscode还用装git_在windows下搭建编程环境git+vscode安装配置教程
  4. springMVC简易学习笔记三(文件上传与异常处理)
  5. 1.5.PHP7.1 狐教程-(PHP开发工具 PHPStorm 配置)
  6. JMS 开发步骤、持久化 topic 消息与非持久化 topic 消息
  7. CentOS 7.2 卸载 Mysql 、Windowns 上卸载 Mysql
  8. 阶段3 1.Mybatis_05.使用Mybatis完成CRUD_7 Mybatis中参数的深入-使用实体类的包装对象作为查询条件...
  9. 阶段1 语言基础+高级_1-3-Java语言高级_09-基础加强_第1节 基础加强_3_Junit_使用步骤...
  10. 超市商品购买与管理系统