-
백준 2193번 : 이친수 (C 언어)c c++ 언어 공부 2023. 6. 7. 23:32
https://www.acmicpc.net/problem/2193
2193번: 이친수
0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않
www.acmicpc.net
Code:
1234567891011121314151617181920#include <stdio.h>long long dp[91][2];int main() {int N;scanf("%d", &N);dp[1][0] = 0;dp[1][1] = 1;for (int i = 2; i <= N; i++) {dp[i][0] = dp[i - 1][0] + dp[i - 1][1];dp[i][1] = dp[i - 1][0];}printf("%lld\n", dp[N][0] + dp[N][1]);return 0;}cs 문제풀이:
이 문제는 dynamic programming (DP)를 사용하여 풀 수 있습니다. 문제의 조건에 따르면, N자리 이친수는 N-1 자리 이친수에 '0'을 추가하거나 N-2 자리 이친수에 '01'을 추가하는 경우로 나눌 수 있습니다.
'c c++ 언어 공부' 카테고리의 다른 글
백준 2440번 : 별 찍기 - 3 (C 언어) (0) 2023.06.10 백준 21736번 : 헌내기는 친구가 필요해 (C 언어) (2) 2023.06.10 백준 14940번 : 쉬운 최단거리(C++ 언어) (0) 2023.06.07 백준 10825번 : 국영수 (C 언어) (0) 2023.06.07 백준 11004번 : k번째 수 (C 언어) (0) 2023.06.06