#include <cstdio>
#include <iostream>
#include <cstring>
#include <string>
#include<algorithm>
using namespace std;
long long a[55];
void init()
{
a[1]=1;a[2]=2;a[3]=3;
for(int i=4;i<=50;i++)
a[i]=a[i-1]+a[i-2];
}
int main()
{
init();
int n;
while(~scanf("%d",&n))
{
printf("%lld\n",a[n]);
}
return 0;
}
思路:
这个是找规律的题,a[1]=1,a[2]=2,a[i]=a[i-1]+a[i-2];
以2*3方格为例,
1:可以认为是2*2的方格在右边添加一个骨牌
2:可以认为是2*1的方格在右边添

这篇博客介绍了如何在2×n的长方形方格中使用1×2的骨牌完全覆盖,并通过实例展示了当n=3时的三种铺放方案。文章旨在帮助初学者理解骨牌铺放的规律,同时给出了输入输出的格式说明。
最低0.47元/天 解锁文章
511

被折叠的 条评论
为什么被折叠?



