공부/SWEA

SWEA 3376. 파도반 수열 (C++)

밤톨ㅇl 2024. 5. 15. 13:36
#include <stdio.h>

int N;
long long wave[102];
void initialize()
{
	wave[1] = 1;
	wave[2] = 1;
	wave[3] = 1;
	wave[4] = 2;
	wave[5] = 2;

	for (int i = 6; i <= 101; i++)
	{
		wave[i] = wave[i - 1] + wave[i - 5];
	}
}
int main()
{
	initialize();
	int tc;
	scanf("%d", &tc);
	for (int t = 1; t <= tc; t++)
	{
		scanf("%d", &N);
		printf("#%d %lld\n", t, wave[N]);
	}
	return 0;
}

1. 여러 규칙이 있겠지만

    1) 1 ~ 5까지 초기값 세팅

    2) arr[N] = arr[N - 1] + arr[N-5]

※ 다른 규칙: arr[1] ~ arr[3]까지 초기값 1로 세팅 후 arr[N] = arr[N -2] + arr[N - 3]도 있음