在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数.
例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:
输入示例
1
3
2
输出示例
1
3
2
#include<cstdio>
typedef long long ll;
const int m=100;
ll f[m] ={1,1,2};
int main(int argc,char const *argv[]){
for(int i=3;i<=m;i++){
f[i]=f[i-1]+f[i-2];
}
int n;
while(~scanf("%d",&n)){
printf("%lld\n",f[n]);
}
return 0;
}
解法还是和斐波那契一样,但是另外一种使用递归动态规划,用记忆化搜索法做的
一位大佬的