hdu 2501--Tiling_easy version

来源:互联网 发布:ipad1不支持新软件 编辑:程序博客网 时间:2024/05/29 03:21

Tiling_easy version

Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 6780 Accepted Submission(s): 5294


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
32812

Sample Output
31712731
import java.util.*;import java.math.*;public class Main{    public static void main(String[] args){        Scanner cin = new Scanner(System.in);        BigInteger []f = new BigInteger[1010];        f[1] = BigInteger.valueOf(1);        f[2] = BigInteger.valueOf(3);        BigInteger a = BigInteger.valueOf(2);        for(int i=3; i<=1000; i++)            f[i] = f[i-1].add(f[i-2].multiply(a));        int n;        int t;        t = cin.nextInt();        while((t--)!=0){            n = cin.nextInt();            System.out.println(f[n]);        }    }}


0 0
原创粉丝点击