https://propercoding.tistory.com/177
0 과 1 출력도 피보나치 수열을 따른다는 것을 알아채야 빠르게 편히 풀 수 있다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //선언
int[] dp = new int[41];
dp[1] = 1;
for(int i=2; i<=40; i++){
dp[i] = dp[i-1] + dp[i-2];
}
int T = Integer.parseInt(br.readLine());
for(int i=0; i<T; i++){
int n = Integer.parseInt(br.readLine());
if(n==0){
System.out.println(1 + " " + 0);
}
else {
System.out.println(dp[n-1] + " " + dp[n]);
}
}
}
}