Tiling

xiaoxiao2021-02-28  111

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   Source 《ACM程序设计》短学期考试_软件工程及其他专业   Recommend lcy  

思路:写出前几个来,然后找规律!

代码:

#include<bits/stdc++.h> using namespace std; int f[33]; void get() { f[1] = 1; f[2] = 3; for(int i = 3; i <= 30; ++i) f[i] = 2*f[i - 2] + f[i - 1]; } int main() { int t, n; cin>>t; get(); while(t--) { cin>>n; cout<< f[n]<<endl; } return 0; }

转载请注明原文地址: https://www.6miu.com/read-29312.html

最新回复(0)