import java.util.Arrays;
import java.util.Scanner;
import java.math.*;
public class Main{
int n;
BigInteger dp[][]=new BigInteger [10005][2];
BigInteger ans=new BigInteger("0");
void init(){
for(int i=0;i<=n;i++)
dp[i][0]=dp[i][1]=BigInteger.ZERO;
}
void Kao(){
int i,j,k;
for(i=1;i<n;i++)
for(j=0;j<2;j++){
for(k=0;k<2;k++){
if(k==1 && j==1)continue;
//System.out.println("dp=="+dp[i][k]);
dp[i+1][j]=dp[i+1][j].add(dp[i][k]);
//System.out.println("dp2=="+dp[i+1][j]);
}
// System.out.println(dp[i+1][0]);
//System.out.println(dp[i+1][1]);
}
}
public void Gao(){
int i,j,k;
Scanner sc= new Scanner(System.in);
while(sc.hasNext()){
n=sc.nextInt();
ans=BigInteger.ZERO;
init();
dp[1][0]=BigInteger.ONE;
Kao();
ans=ans.add(dp[n][1]);
ans=ans.add(dp[n][0]);
init();
dp[1][1]=BigInteger.ONE;
Kao();
ans=ans.add(dp[n-1][1]);
ans=ans.add(dp[n-1][0]);
System.out.println(ans);
}
}
public static void main(String[] args){
new Main().Gao();
}
}
/*
import java.util.Scanner;
import java.math.*;
public class Main {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int cas=sc.nextInt();
for(int i=1;i<=cas;i++){
if(i!=1)System.out.println();
System.out.println("Case "+i+":");
BigInteger a=sc.nextBigInteger();
BigInteger b=sc.nextBigInteger();
System.out.println(a+" + " +b + " = " +a.add(b));
}
}
}
*/
Edge Case ZSTU
最新推荐文章于 2019-10-01 10:53:05 发布