https://www.acmicpc.net/problem/17175
DP문제 기본을 다지기에 좋은 문제다
처음엔 그냥 fibonacci를 그냥 코드로 짜서 호출횟수 돌려 봤는데 시간초과가 났다 그래서
DP문제인것을 알게됨
점화식은 1, 2, 3 숫자가 있다면
f(3) = f(2)+f(1)+1
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args)throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int[] dp = new int[51];
dp[0] = 1;
dp[1] = 1;
for (int i = 2; i < 51; i++) {
dp[i] = (dp[i-1] + dp[i-2] + 1) % 1000000007;
}
System.out.println(dp[n]);
}
}