本文主要是介绍Tiling_easy version 2501,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Problem Description
有一个大小是 2 x n 的网格,现在需要用2种规格的骨牌铺满,骨牌规格分别是 2 x 1 和 2 x 2,请计算一共有多少种铺设的方法。
Input
输入的第一行包含一个正整数T(T<=20),表示一共有 T组数据,接着是T行数据,每行包含一个正整数N(N<=30),表示网格的大小是2行N列。
Output
输出一共有多少种铺设的方法,每组数据的输出占一行。
Sample Input
3
2
8
12
Sample Output
3
171
2731
#include <iostream>
int main(int argc, const char *argv[])
{
__int64 result[30] = {1, 3};
for(int i = 2;i < 30;++ i)
{
result[i] = result[i - 1] + 2 * result[i - 2];
}
int t;
std::cin >> t;
while(t --)
{
int n;
std::cin >> n;
std::cout << result[n - 1] << std::endl;
}
//system("pause");
return 0;
}
这篇关于Tiling_easy version 2501的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!