2018년 10월 21일 일요일

백준1003: 피보나치 함수(동적 계획법 풀이)

문제 링크
https://www.acmicpc.net/problem/1003

/*
https://www.acmicpc.net/problem/1003
*/
 
#include <stdio.h>
#include <vector>
#include <utility>
#pragma warning  (disable: 4996)
 
using namespace std;
 
 
int main(void)
{
 
    // 점화식
    // f(n) = f(n - 1) + f(n - 2)
 
 
 
    int testCaseNum = 0;
    scanf("%d"&testCaseNum);
 
    
 
    // index: f(N)에서 n을 index로 사용한다.
    // first: 0이 출력된 횟수, second: 1이 출력된 횟수
 
    vector< pair<intint> > v;
    v.push_back(pair<intint>(10));
    v.push_back(pair<intint>(01));
 
    for (int tcLoop = 0; tcLoop < testCaseNum; tcLoop++)
    {
        size_t testCase = 0;
        scanf("%d"&testCase);
 
        // 아직 계산되지 않은 영역이라면, 계산해서 넣어준다.
        while (testCase >= v.size())
        {
            size_t nowSize = v.size();
            int first = v[nowSize - 1].first + v[nowSize - 2].first;
            int second = v[nowSize - 1].second + v[nowSize - 2].second;
 
            v.push_back(pair<intint>(first, second));
        }
 
 
        printf("%d %d\n", v[testCase].first, v[testCase].second);
    }
 
 
    return 0;
}
cs

댓글 없음:

댓글 쓰기

A*, JPS 길찾기 알고리즘 시뮬레이션 사이트

https://qiao.github.io/PathFinding.js/visual/ 길 찾기 알고리즘 시행 과정을 보여주는 사이트다. 링크 메모..