poj_2506_Tiling_201407211555
| Time Limit: 1000MS | Memory Limit: 65536K | |
| Total Submissions: 7509 | Accepted: 3672 |
Description
Here is a sample tiling of a 2x17 rectangle.

Input
Output
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的更多相关文章
随机推荐
- AJPFX讲解java单例模式
单例设计模式概述: 单例模式就是要确保类在内存中只有一个对象,该实例必须自动创建,并且对外提供单例模式有以下特点: 1.单例类只能有一个实例. 2.单例类必须自己自己创建自己的唯一实例. 3 ...
- html5的表单元素总结
- css3中的变换、动画和过渡
变换:分为2d变换和3d变换,但一次只能用一个变换属性,多个的话最后一个会覆盖前面所有最终被浏览器实现,变换可以成为过渡和动画的一个待变参数(类似width,opacity等). 过渡:是动画的初始模 ...
- 开发小Tips
Kotlin语言篇: 1.抽象类的定义 abstract class Person(var name : String, var age : Int) : Any() { abstract var a ...
- spring jdbc 批处理插入主健重复的数据
1.有事务:当调用spring jdbc 的批处理的时候,在实现层加入事物,只要有插入异常的数据,整个批处理操作都会回滚.事务保证操作的原子性. 2.无事务:当没有事务的时候,批处理插入数据的时候,若 ...
- SQL 索引自动维护计划脚本
脚本功能: 1,查询数据库中,碎片率在5%以上(官方推荐),有一定数据里的表的索引. 2.如果碎片率在5%<碎片率<=30% 执行重新组织索引.如果在30%以上,执行重建索引 建议在执行 ...
- 【译】x86程序员手册40-10.5初始化的例子
10.5 Initialization Example初始化的例子 译注:本来想把这个例子全部注释完,但由于对intel汇编实不熟悉,有太多的伪指令,本人也是免强看懂,所以就不再做翻译了. $TITL ...
- C++ class、struct区别
一.默认访问控制不同(最主要) struct默认为public,class默认为private.这个访问控制既是指成员的默认访问属性,又指继承时默认的继承属性. 二.定义template时不同 在模版 ...
- 在死循环中使用Scanner获得键盘输入
1. 编译时无错误和警告,且运行过程中无异常的代码示例 //编译时无错误和警告,且运行过程中无异常的代码示例package scanner_test; import java.util.*; publ ...
- 【HTML5】可以省略标记的元素