문제
백준 9625번 BABBA
9625번: BABBA
상근이는 길을 걷다가 신기한 기계를 발견했다. 기계는 매우 매우 큰 화면과 버튼 하나로 이루어져 있다. 기계를 발견했을 때, 화면에는 A만 표시되어져 있었다. 버튼을 누르니 글자가 B로 변했
www.acmicpc.net
코드
#include<iostream>
using namespace std;
int arr[50][2];
//arr[i][0]:number of A, arr[i][1]: number of B
int k;
int main() {
arr[0][0] = 1;
arr[0][1] = 0;
cin >> k;
for (int i = 1; i <= k; i++) {
arr[i][0] = arr[i-1][1];
arr[i][1] = arr[i - 1][0] + arr[i - 1][1];
}
cout << arr[k][0] << " " << arr[k][1];
}
풀이방법
입력값이 k일때 A, B의 개수는 입력값이 (k-1)일 때의 A, B의 개수와 규칙성이 있으므로 동적계획법을 이용한다. arr[i][0]은 A의 개수, arr[i][1]은 B의 개수를 나타낸다.
'algorithm > Dynamic Programming' 카테고리의 다른 글
[C++] BOJ 1010 다리 놓기 (0) | 2021.05.01 |
---|---|
[C++] BOJ 13301 타일 장식물 (0) | 2021.05.01 |
[C++] BOJ 10870 피보나치 수 5 (0) | 2021.05.01 |
[C++] BOJ 2748 (0) | 2021.03.27 |
[C++] BOJ 2839 ŠEĆER 설탕배달 (0) | 2021.03.27 |