알고리즘/백준

[백준 9461] 파도반 수열 (C++)

겜도리도리 2021. 9. 5. 23:34
반응형

문제

백준 9461

 

9461번: 파도반 수열

오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의

www.acmicpc.net

풀이

점화식만 알면 쉽게 풀 수 있는 문제입니다.

점화식은 직관...으로 찾았습니다.

인덱스가 커지면 배열의 값이 int 범위를 초과하므로 배열을 long long 형으로 선언합니다.

소스 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<iostream>
using namespace std;
 
long long dp[101];
 
int main()
{
    int t;
    int num;
    dp[1= 1;
    dp[2= 1;
    dp[3= 1;
    dp[4= 2;
    dp[5= 2;
    for (int i = 6; i <= 100; i++)
    {
        dp[i] = dp[i - 1+ dp[i - 5];
    }
    cin >> t;
    for (int i = 0; i < t; i++)
    {
        cin >> num;
        cout << dp[num] << '\n';
    }
    return 0;
}
cs
반응형