백준 2193

혀니앤·2021년 2월 7일
0

C++ 알고리즘

목록 보기
11/118

★★☆☆☆

난이도의 경우 앞선 DP 문제들보다 훨씬 쉬웠지만,
출력에서 일정한 값으로 나눈 값들을 반환하도록 했던 기존의 문제들과 달리
처리 과정이 빠져 있어서 타입을 long long으로 설정해줘야하는 함정 아닌 함정이 있었다.

#include <iostream>
using namespace std;

int main() {
	long long dp[91][2] = { 0, };
	int n;
	cin >> n;


	//배열 초기설정
	dp[0][0] = 0;
	dp[0][1] = 0;
	dp[1][0] = 0; //이친수는 0으로 시작할 수 없다
	dp[1][1] = 1;

	for (int i = 2; i <= n; i++) {
		dp[i][0] = dp[i - 1][1] + dp[i - 1][0];
		dp[i][1] = dp[i - 1][0]; //무조건 전 자리수가 0이어야만 한다
	}

	long long sum = 0;
	sum = dp[n][0] + dp[n][1];
	cout << sum<<"\n";
}

profile
일단 시작하기

0개의 댓글