본문 바로가기
백준

백준 동적계획법 - 9461번 : 파도반 수열

by 맴썰 2022. 2. 16.

https://www.acmicpc.net/problem/9461


import java.io.*;
import java.util.*;


public class Main {
		public static long[] memo = new long[101];
	public static void main(String[] args) throws IOException{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;
		st = new StringTokenizer(br.readLine());
		int n = Integer.parseInt(st.nextToken());
		memo[0] = 1;
		memo[1] = 1;
		memo[2] = 1;
		memo[3] = 2;
		memo[4] = 2;
		memo[5] = 3;
		for(int i=0; i<n; i++) {
			st = new StringTokenizer(br.readLine());
			int a = Integer.parseInt(st.nextToken());
			System.out.println(func(a-1));
		}
	}
	static long func(int a) {
		if(a<5) return memo[a];
		if(memo[a]==0) {
			memo[a] = func(a-5)+func(a-1);
		}
		return memo[a];
	}
}