poj2506(Tiling)

题目大意:

给你一个2*N的矩形。 让你用2*1或者2*2的小矩形去拼成2*N的矩形。问你有多少种拼法。

解题思路:

类似于简单的骨牌铺路。

N长度的矩形,可以由  前(N-1)种+最后一个放竖着的2*1小矩形  和
 前(N-2)种+最后两位横着放两位2*1的小矩形  和  前(N-2)种+最后两位放一个两位2*2的小矩形。

所以递推公式  f(n)=f(n-1)+f(n-2)+f(n-2).

涉及到大数相加。  (需要整理大数相加,大数相减,大数相乘,大数相除的模板!)

代码:

 1 #include<cstdio>
2 #include<math.h>
3 #include<cstring>
4 #include<iostream>
5 #include<algorithm>
6 using namespace std;
7 int a[255][1000];
8 void inint()
9 {
10 int i,j,k;
11 a[0][999]=1;
12 a[1][999]=1;
13 a[2][999]=3;
14 for(i=3;i<255;i++)
15 for(j=999;j>=0;j--)
16 {
17 a[i][j]+=a[i-1][j]+a[i-2][j]+a[i-2][j];
18 if (a[i][j]>=10)
19 {
20 int t=a[i][j];
21 a[i][j]=t%10;
22 a[i][j-1]+=t/10;
23 }
24 }
25 }
26 int main()
27 {
28 memset(a,0,sizeof(a));
29 inint();
30 int n;
31 while(scanf("%d",&n)!=EOF)
32 {
33 int i;
34 int ce=0;
35 for(i=0;i<1000;i++)
36 {
37 if (!ce&&!a[n][i])
38 continue;
39 ce++;
40 printf("%d",a[n][i]);
41 }
42 printf("\n");
43 }
44 return 0;
45 }

View
Code

poj2506(Tiling),布布扣,bubuko.com

时间: 2024-11-10 00:54:53

poj2506(Tiling)的相关文章

C++ AMP 介绍(二)

C++ AMP 介绍(二) 最后更新日期:2014-05-02 阅读前提:<C++ AMP介绍(一)> 环境:Windows 8.1 64bit英文版,Visual Studio 2013 Update1英文版,Nvidia QuadroK600 显卡 内容简介 介绍C++ AMP的 array.array_view.extent类和平铺的知识. 正文 数据的移动 array和 array_view两个数据容器(模板类)用于把数据从运行时库(CPU)移到加速器(显卡或通用计算卡)上,array

Quartz2D 编程指南(二)变换、图案、阴影

概览 图形上下文 路径 颜色与颜色空间 变换 图案 阴影 渐变 透明层 Quartz 2D 中的数据管理 位图与图像遮罩 CoreGraphics 绘制 Layer 5.变换 简介 Quartz 2D 绘制模型定义了两种独立的坐标空间:用户空间(用于表现文档页)和设备空间(用于表现设备的本地分辨率). 当我们需要一个点或者显示文档时, Quartz 会将用户空间坐标系统映射到设备空间坐标系统.当前映射关系的变换矩阵称为 CTM(current transformation matrix). Qu

windows消息机制详解(转载)

消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了.例如,单击鼠标.改变窗口尺寸.按下键盘上的一个键都会使Windows发送一个消息给应用程序.消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息.例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标.这个记录类型叫做TMsg, 它在Windows单元中是这样声明的:typeTMsg = packed recordhwnd: HWND; / /窗口句柄message: UINT; / /

编程题目分类(剪辑)

1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 11. 模拟 12. 算术与代数 13. 组合问题 14. 数论 15. 网格,几何,计算几何 [编程入门] PC 110101, uva 100, The 3n+1 problem, 难度 1 PC 110102, uva 10189, Minesweeper, 难度 1 PC 110103, uva 10137, The T

一个图形引擎的画面风格是由那些因素(技术)决定的?

可能非常多人第一直覺會認為shader決定了視覺風格.但我認為能够從多個方面去考慮. 1. 幾何模型 一個畫面由多個成分組成,最主要的應該是其結構.在圖形學中通常稱為幾何模型. 一些引擎,如Quake/UE,有比较強的Brush建模功能(或應稱作CSG).製作建築比较方便.而CE則有較強的大型地表.植被.水體等功能.做室外自然環境十分出色. 而还有一些遊戲類型專用的引擎.比如RTS/MOBA,可能會有特殊的基於tiling的建模方式.也有一些主要仅仅支持三角形網格(如Unity.雖然它也有簡單的

ArcGIS Server建立缓存(切图)原理解析[图解] (转载)

GoogleMap ,VirtualEarth ,YahooMap 等,目前所有的WebGIS都使用了缓存机制 以提高地图访问速度.原理都是将地图设定为多个比例尺,对于每个比例尺提前将地图分成若干小图片,存在服务器上,客户端访问时直接获取需要的小图片拼接成地图,而不是由服务器动态创建出一幅图片来送到客户端,极大程度的提高了反问速度. 好比外面卖菠萝,和自己买一整个回家吃不同,提前把一个菠萝等分成四份(js可能会分成6份),你只需买一份来吃,体积小,方便吃,而不是对着整个菠萝咬下去,弄一脸菠萝汁.

(转)sicily题目分类

Sicily题目分类 ·         [数据结构/图论] 1310 Right-Heavy Tree   笛卡尔树相关,复杂度O(N)或O(NlogN). ·1426 Phone List         电话号码前缀检索,trie树相关. ·1443 Printer Queue      基本队列操作. ·1149 等价表达式         判断表达式是否等价(递归求解) ·1136 山海经             n长序列里求m次区间询问的最大连续子区间和.线段树/RMQ ·1252

【翻译】西川善司「实验做出的游戏图形」「GUILTY GEAR Xrd -SIGN-」中实现的「纯卡通动画的实时3D图形」的秘密,前篇(1)

http://www.4gamer.net/games/216/G021678/20140703095/ 新连载「实验做出的游戏图形」,是聚焦在特定游戏的图形上, 对它的结构和使用的技术解说为主旨.之前笔者连载的「西川善司的3D游戏入迷」,覆盖范围都很广,而与特定游戏强关联的技术解说,会在今后的新连载中处理. 作为纪念的第一回选择的,是Arc System Works开发的,2014年2月在街机上运作的格斗游戏「GUILTY GEAR Xrd -SIGN-」 全3D图形的GUILTY GEAR

C++ AMP 介绍(两)

C++ AMP 介绍(两) 最后更新:2014-05-02 读前提:<C++ AMP介绍(一个)> 周边环境:Windows 8.1 64bit英文版,Visual Studio 2013 Update1英文版,Nvidia QuadroK600 显卡 内容简单介绍 介绍C++ AMP的 array.array_view.extent类和平铺的知识. 正文 数据的移动 array和 array_view两个数据容器(模板类)用于把数据从执行时库(CPU)移到加速器(显卡或通用计算卡)上.arr