杭电OJ 2501 骨牌铺满方格 递推

问题描述
有一个大小是 2 x n 的网格,现在需要用2种规格的骨牌铺满,骨牌规格分别是 2 x 1 和 2 x 2,请计算一共有多少种铺设的方法。

输入
加分项列多(T<=20)、"行图"T T=20)、"已分列"项分项项、“项长”(N<=30)、“亮起”"文标"要求、“已表示"要求”“已表示"和"已表示”"已表示"要求、"已表示"已表示、“已表示"和"已表示"已调和、“已调和"和"已变为"已调和”“已调用"和"已变为"已调用"和"已变为"已调用"项分项为"已调用"和"已变”。”

输出
输出一共有多少种铺设的方法,每组数据的输出占一行。

示例输入
3
2
8
12

样本输出
3
171
2731

代码:

#include<stdio.h>
int a(int m)
{
    
    
	if(m==1)
	{
    
    
		return 1;
	}
	if(m==2)
	{
    
    
		return 3;
	}else 
	{
    
    
		return a(m-1)+2*a(m-2);
	}
}
int main()
{
    
    
	int n,i,m;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
    
    
		scanf("%d",&m);
		printf("%d\n",a(m));
	}
	return 0;
 } 

猜你喜欢

转载自blog.csdn.net/qq_52077949/article/details/114800024
今日推荐