낭만 IT

반응형

문제 출처

ICPC Asia Pacific Korea Asia Regional - Daejeon 2013 G번

 

문제 주소

백준 9461번 파도반 수열

 

9461번: 파도반 수열

문제 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다. 파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이이다. P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, 4, 5, 7, 9이다. N이 주어졌을 때, P(N)을 구하

www.acmicpc.net

알고리즘

DP

 

힌트

n번째 삼각형 변의 길이와 이전 삼각형들의 변의 길이와의 관계를 살펴보자

 

 

 

문제 풀이

#include<iostream>
using namespace std;

long long dp[101]={0,1,1,1,2,2,};
int main(){
    int n;
    cin>>n;
    for(int i=6;i<=100;i++){
        dp[i]=(dp[i-1]+dp[i-5]);
    }

    for(int i=0;i<n;i++){
        int tmp;
        cin>>tmp;
        cout<<dp[tmp]<<"\n";
    }
}

반응형

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band