관리 메뉴

기억을 위한 기록들

[백준 2193: 이친수 ] - C++ 본문

Coding Test - cpp/DP

[백준 2193: 이친수 ] - C++

에드윈H 2021. 1. 20. 16:58

www.acmicpc.net/problem/2193

 

2193번: 이친수

0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않

www.acmicpc.net

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

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

	cin >> n;

	for (int i = 3; i <= n; i++)
	{ 
		dp[i][0] = dp[i - 1][0] + dp[i - 1][1];  //이전이 0으로 끝나는수라면 0과 1을 붙인수 만큼 추가
		dp[i][1] = dp[i - 1][0]; //이전이 1로 끝나는수는 이전의 0붙는 수만큼 추가
	}

	cout << dp[n][0] + dp[n][1];
	return 0;
}

'Coding Test - cpp > DP' 카테고리의 다른 글

[백준 1912: 연속합] - C++  (0) 2021.01.22
[백준 9625: BABBA ] - C++  (0) 2021.01.20
[백준 2748: 피보나치 수 2 ] - C++  (0) 2021.01.20
[백준 1932: 정수 삼각형] - C++  (0) 2021.01.20
[백준 2579: 계단 오르기] - C++  (0) 2021.01.19