[ ALGORITHM ]/[ 백 준 ]
[BAEKJOON] 9461번 파도반 수열
HiStar__
2020. 6. 24. 11:06
문 제
소 스 코 드
#include <iostream>
typedef long long INT;
void Func(const int&, INT *);
int main() {
int T;
std::cin >> T;
int *N { new int[T] };
int max_N { -1 };
for (int i = 0; i < T; ++i) {
std::cin >> N[i];
if (max_N < N[i]) max_N = N[i];
}
INT *pdb{ new INT[max_N + 1] };
Func(max_N, pdb);
for (int i = 0; i < T; ++i) std::cout << pdb[N[i]] << "\n";
delete[] pdb;
delete[] N;
return 0;
}
void Func(const int& n, INT * pdb) {
pdb[0] = 0;
pdb[1] = 1;
pdb[2] = 1;
pdb[3] = 1;
pdb[4] = 2;
int count{ 0 };
for (int i = 5; i < n + 1; ++i) {
pdb[i] = pdb[count] + pdb[i - 1];
++count;
}
}
풀 이
01. 1 02. 1 03. 1 04. 2 - 01, 03 05. 2 - 00, 04 06. 3 - 01, 05 07. 4 - 02, 06 08. 5 - 03, 07 09. 7 - 04, 08 10. 9 - 05, 09 11. 12 - 06, 10 12. 16 - 07, 11 |
- 4번 이후 5번 부터 일정한 규칙을 볼 수 있다. 앞에는 0 부터 뒷 자리는 이전에 있던 삼각형이다.
결 과 값
문 제 출 처
문제 링크 : [ BAEKJOON ] : https://www.acmicpc.net/problem/9461