Tiling
Time Limit: 1000MS   Memory Limit: 65536K
Total Submissions: 7509   Accepted: 3672

Description

In how many ways can you tile a 2xn rectangle by 2x1 or 2x2 tiles? 
Here is a sample tiling of a 2x17 rectangle. 

Input

Input is a sequence of lines, each line containing an integer number 0 <= n <= 250.

Output

For each line of input, output one integer number in a separate line giving the number of possible tilings of a 2xn rectangle. 

Sample Input

2
8
12
100
200

Sample Output

3
171
2731
845100400152152934331135470251
1071292029505993517027974728227441735014801995855195223534251

Source

 
 #include <stdio.h>
#include <string.h>
#define MAX 1000
int s[][MAX];
int main()
{
int i,j,k,t,n,len=;
memset(s,,sizeof(s));
s[][]=;
s[][]=;
s[][]=;
for(i=;i<=;i++)
{
t = ;
for(j=;j<=len;j++)
{
s[i][j]=s[i-][j]+*s[i-][j]+t;
if(s[i][j]>)
{
t=s[i][j]/;
s[i][j]%=;
}
else
t = ;
if(j==len&&t==)
len++;
}
}
while(scanf("%d",&n)!=EOF)
{
for(i=MAX-;i>&&(s[n][i]==);i--);
for(;i>=;i--)
printf("%d",s[n][i]);
printf("\n");
}
return ;
}
首先,无论任何一种方案,最左边的要么是一根竖的,要么是两根横的,要么是一个方的,对吧?所以:
当是一根竖时剩下的方案数是f[i-1]
当是两根横时剩下的方案数是f[i-2]
当是一个方时剩下的方案数是f[i-2]
故f[i]=f[i-1]+2*f[i-2]
//递推+大数 注意:0的时候输出1(暂时没搞明白为什么,请大神指教)。

poj_2506_Tiling_201407211555的更多相关文章

随机推荐

  1. Oracle 用到的服务

    1.Oracle ORCL VSS Writer Service Oracle卷映射拷贝写入服务,VSS(Volume ShadowCopy Service)能够让存储基础设备(比如磁盘,阵列等)创建 ...

  2. SpringMvc如何将Url 映射到 RequestMapping (一)

    SpringMvc Url 匹配规则详解 最近开始阅读Spring 源码,虽然用了很久的spring ,但是没有真正的分析过Spring时如何工作的.今天重 MVC 的Url匹配规则开始进行Sprin ...

  3. spring jdbc 批处理插入主健重复的数据

    1.有事务:当调用spring jdbc 的批处理的时候,在实现层加入事物,只要有插入异常的数据,整个批处理操作都会回滚.事务保证操作的原子性. 2.无事务:当没有事务的时候,批处理插入数据的时候,若 ...

  4. tomcat 启动失败 和闪退 和 启动成功却没有页面显示

    1.解压版tomcat 将tomcat解压至英文目录下, 在系统环境变量里面配置 JAVA_HOME 和CATALINA_HOME (就是tomcat的安装目录) 在path中配置 %CATALINA ...

  5. select在数据库中有两种含义

    select在数据库中有两种意思 (1)是赋值的意思(2)是输出,打印的意思我想你问的大概是赋值吧print和 select在数据库中都有打印输出的意思 用法是:select @aa=select* ...

  6. vue框架的知识

    基础:实例----组件----指令----选项-----计算属性----事件绑定----模板渲染-----内置动画 ---组件交互----路由. vuejs干了什么事情:数据渲染/数据同步 组件化/模 ...

  7. leetcode_357. Count Numbers with Unique Digits

    https://leetcode.com/problems/count-numbers-with-unique-digits/ 给定一个n,计算[0,10^n]中十进制中每一位都不相同的数的数目. c ...

  8. Friday Q&A 2015-11-20:协变与逆变

    作者:Mike Ash,原文链接,原文日期:2015-11-20译者:Cee:校对:千叶知风:定稿:numbbbbb 在现代的编程语言中,子类型(Subtypes)和超类型(Supertypes)已经 ...

  9. formSelects-v4.js 基于Layui的多选解决方案

    https://hnzzmsf.github.io/example/example_v4.html

  10. 编译压缩代码 MFCompress-src-1.01 :对‘***’未定义的引用

    提示 MFCompressD.o:在函数‘main’中:MFCompressD.c:(.text.startup+0x34a): 警告: the use of `tempnam' is dangero ...