https://www.acmicpc.net/problem/1003
1. 전체코드
#include <bits/stdc++.h>
using namespace std;
int t, n;
int d[44][2];
//1.테이블정의
// d[i][0] : fibo(i)에서 0이 출력되는 횟수
// d[i][1] : fibo(i)에서 1이 출력되는 횟수
int fibonacci(int n) {
if (n == 0) {
printf("0");
return 0;
}
else if (n == 1) {
printf("1");
return 1;
}
else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> t;
//2.초기값
d[0][0] = 1;
d[0][1] = 0;
d[1][0] = 0;
d[1][1] = 1;
d[2][0] = d[1][0] + d[0][0];
d[2][1] = d[1][1] + d[0][1];
//3. 점화식 for문
for (int i = 2; i <= 40; ++i) {
d[i][0] = d[i - 1][0] + d[i - 2][0];
d[i][1] = d[i - 1][1] + d[i - 2][1];
}
while (t--) {
cin >> n;
cout << d[n][0] << " " << d[n][1] << "\n";
}
}
'Algorithm > dp' 카테고리의 다른 글
백준 2193 이친수 c++ // dp, overflow 해결방법 long long (0) | 2023.10.10 |
---|---|
백준 11727 2*n 타일링2 c++ // dp (0) | 2023.10.10 |
프로그래머스 43105 정수삼각형 c++ // dp , 인덱스에 주의하자, 일반식을 정확하게 짜는방법 (0) | 2023.10.10 |
백준 12852 1로만들기 2 c++ // dp, 경로복원 하는 방법 pre[i] (0) | 2023.10.09 |
백준 11659 구간합구하기4 c++ // dp, dp를 사용해야할때 아는방법 (0) | 2023.10.09 |