Algorithm

[백준] 알고리즘 9461번 - 파도반 수열 문제

낭강 2020. 12. 12. 20:09

#include <bits/stdc++.h>
using namespace std;
long long dp[101];

int main() 
{
	ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
	int T;
	cin >> T;
	dp[1] = 1, dp[2] = 1, dp[3] = 1;
	while (T--) {
		int n;
		cin >> n; 
		for (int i = 4; i <= n; i++) {
			dp[i] = dp[i - 3] + dp[i - 2];
		}
		cout << dp[n]<<"\n";
	}
	 
	return 0;
}

문제는 간단하게 규칙을 찾으면 해결 할 수 있다.

dp[4] = dp[1] + dp[2] 

. . . . . .