9461번: 파도반 수열

문제접근🤔


//pseudo code
cin >> t;
cin >> n;
dp[5]까지는 초기화
while // n까지 구함
	dp[i] = dp[i-1] + dp[j++]

놓쳤던 부분😅


코드😁


2016 KB

0 ms

#include <iostream>
#include <vector>

int t;
std::vector<long long> dp;

void input_setting()
{
	std::ios_base::sync_with_stdio(false);
	std::cin.tie(0);
	std::cout.tie(0);
}

void solution()
{
	int n;
	int i, j;

	i = 5;
	j = 0;
	std::cin >> n;
	dp.resize(n + 1);
	dp[1] = 1;
	dp[2] = 1;
	dp[3] = 1;
	dp[4] = 2;
	dp[5] = 2;
	while (++i <= n)
		dp[i] = dp[i - 1] + dp[++j];
	std::cout << dp[n] << "\\n";
}

void input()
{
	std::cin >> t;
	while (t--)
		solution();
}

int main(void)
{
	input_setting();
	input();
	return (0);
}