https://www.acmicpc.net/problem/2193
1. 문풀과정
int -> overflow(-)
long long으로 바꿧더니 통과되었다.
2. 전체코드
#include <bits/stdc++.h>
using namespace std;
long long d[94][2], n;
//d[i][j] : i자리 이친수의 갯수, j:맨뒤가 j인 이친수의 갯수
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
d[1][0] = 0;
d[1][1] = 1;
cin >> n;
for (int i = 2; i <= n; ++i) {
d[i][0] = d[i-1][0]+d[i-1][1]; //0을붙이는경우 : 다됨
d[i][1] = d[i - 1][0]; //뒤에 1을붙이는경우 : 이전뒤가0일때만됨
}
cout << d[n][0]+d[n][1];
}
'Algorithm > dp' 카테고리의 다른 글
프로그래머스 코딩테스트공부 c++ // dp, 예외처리방법 (0) | 2023.11.19 |
---|---|
백준 1912 연속합 c++ [hard]// dp, 연속합중 최대값 구하는 방법 (0) | 2023.10.10 |
백준 11727 2*n 타일링2 c++ // dp (0) | 2023.10.10 |
백준 1003 피보나치 함수 c++ // dp (0) | 2023.10.10 |
프로그래머스 43105 정수삼각형 c++ // dp , 인덱스에 주의하자, 일반식을 정확하게 짜는방법 (0) | 2023.10.10 |