주소 : https://www.acmicpc.net/problem/9461
9461번: 파도반 수열
오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의
www.acmicpc.net
소스 코드 :
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <vector>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int N;
vector<long long int> P(101);
cin >> N;
P[1] = 1;
P[2] = 1;
P[3] = 1;
for (int i = 4; i <= 100; i++)
P[i] = P[i - 2] + P[i - 3];
while (N != 0)
{
int num;
cin >> num;
cout << P[num] << '\n';
N--;
}
}
마무리 : 수학 문제로 dp로 풀어본 결과 소스 코드에 나와 있는 계산식으로 답을 나올 수 있었다. 대신에 값이 크기 때문에 자료형 long long int로 만들어줘야한다. 그렇지 않으면 틀린다고 나온다.
'백준 > C++' 카테고리의 다른 글
백준 11726번 : 2xn 타일링 [C++] (0) | 2022.09.04 |
---|---|
백준 11659번 : 구간 합 구하기 4 [C++] (0) | 2022.09.02 |
백준 9375번 : 패션왕 신해빈 [C++] (0) | 2022.09.02 |
백준 9095번 : 1, 2, 3 더하기 [C++] (0) | 2022.09.01 |
백준 2606번 : 바이러스 [C++] (0) | 2022.09.01 |