骨牌鋪方格
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 22248 Accepted Submission(s): 10728
Problem Description在2×n的一個長方形方格中,用一個1× 2的骨牌鋪滿方格,輸入n ,輸出鋪放方案的總數.
例如n=3時,為2× 3方格,骨牌的鋪放方案有三種,如:
Input輸入資料由多行組成,每行包含一個整數n,表示該測試執行個體的長方形方格的規格是2×n (0<n<=50)。
Output對於每個測試執行個體,請輸出鋪放方案的總數,每個執行個體的輸出佔一行。
Sample Input
132
Sample Output
132
總結: 水題一道,就找規律..... 有一點要注意: 0<n<=50; 所以 n=50的時候,就超過 int 的範圍了,結果為負數,所以我們要用 有大整數 BigInteger 來處理。
import java.util.*;import java.io.*;import java.math.BigInteger;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(new BufferedInputStream(System.in));while (sc.hasNextInt()) {int m = sc.nextInt();BigInteger big[] = new BigInteger[51];big[1] = BigInteger.valueOf(1);big[2] = BigInteger.valueOf(2);for (int j = 3; j < 51; j++) {big[j] = big[j - 1].add(big[j - 2]);}System.out.println(big[m]);}}}