POJ 2506 Tiling 递推+大数

来源:互联网 发布:hadoop2.7.2 windows 编辑:程序博客网 时间:2024/04/29 19:23
n how many ways can you tile a 2xn rectangle by 2x1 or 2x2 tiles?
Here is a sample tiling of a 2x17 rectangle.

Input

Input is a sequence of lines, each line containing an integer number 0 <= n <= 250.

Output

For each line of input, output one integer number in a separate line giving the number of possible tilings of a 2xn rectangle.

Sample Input

2812100200

Sample Output

317127318451004001521529343311354702511071292029505993517027974728227441735014801995855195223534251


题意 :有一个2*n的大长方体;只用1*2,2*2两种长方体有多少种方法构成这个大长方体

代码:

import java.math.BigInteger;import java.util.Scanner;;public class Main {public static void main(String[] args) {Scanner cin=new Scanner(System.in);BigInteger[] q=new BigInteger[255];             //大数数组的 定义q[0]=BigInteger.ONE;                            //大数数组的元素赋值 q[0]=1q[1]=BigInteger.ONE;                            q[2]=q[0].add(q[0].add(q[1]));                  //大数的加减乘除都是函数形式for(int i=3;i<=250;i++)q[i]=q[i-1].add(q[i-2].add(q[i-2]));int t;while(cin.hasNext())                    //多重输入{t=cin.nextInt();System.out.println(q[t]);}cin.close();                //多重输入要关闭文件}}

简单的递推题 但加上了大数。。  

再次证明了JAVA对大数问题的简单实用

0 0
原创粉丝点击