poj1205

递推

View Code
import java.io.*;
import java.util.*;
import java.math.*;

public class Main {

    
public static void main(String args[])
    {
        Scanner cin 
= new Scanner(new BufferedInputStream(System.in));
        BigInteger[][] f 
= new BigInteger[101][3];
        f[
0][0= new BigInteger("0");
        f[
0][1= new BigInteger("1");
        f[
0][2= new BigInteger("0");
        BigInteger[] res 
= new BigInteger[101];
        
for (int i = 1; i <= 100; i++)
        {
            f[i][
0= f[i - 1][0].add(f[i - 1][2]);
            f[i][
1= f[i - 1][1].add(f[i - 1][2]).add(f[i - 1][0]);
            f[i][
2= f[i - 1][1].add(f[i - 1][2]).add(f[i - 1][0]);
            res[i] 
= f[i][0].add(f[i][2]);
        }
        
while (cin.hasNext())
        {
            
int a = cin.nextInt();
            System.out.println(res[a]);
        }
    }
}
原文地址:https://www.cnblogs.com/rainydays/p/2105977.html