백준

[C++][백준 BOJ] 2193 이친수 / DP

youcheachae 2023. 8. 29. 12:11
C++ / 백준 2193 이친수  

https://www.acmicpc.net/problem/2193

 

2193번: 이친수

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

www.acmicpc.net


 

해설

⚡dp[N] : 길이가 N인 이친수의 갯수

⚡dp[3] = dp[1] + dp[2] 

⚡dp[4] = dp[2] + dp[3]

....

 

⚡피보나치 수열이랑 같은 점화식!


코드

⚡dp의 자료형을 'long long'으로 해야함! 

int N;
int M;
long long dp[91];

int main()
{
	ios_base::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);

	// 백준 2193
	cin >> N;
	
	dp[1] = 1;
	dp[2] = 1;

	for (int i = 3; i <= N; i++) 
	{
		dp[i] = dp[i - 1] + dp[i - 2];
	}

	cout << dp[N];

}

 

https://github.com/churush912837465

 

churush912837465 - Overview

churush912837465 has 4 repositories available. Follow their code on GitHub.

github.com