반응형
https://www.acmicpc.net/problem/2193
2193번: 이친수
0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않는다. 이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다. 예를 들면 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만 0010101이나 101101은 각각 1, 2번 규칙에 위배되
www.acmicpc.net
#1. 문제 조건에서 n의 최대범위는 반드시 체크를 해야된다.
N값의 최대값 ( N = 90)을 넣으니까 답을 메모리 제이션 하는 int자료형에서 int 오버플로우가 생긴다.
문제는 예상치 못함..ㅜ 그렇게 까지 커질꺼라는 예상을 버리고 n의 최대값은 다시한번 리체크 하자.
//2193
#include<iostream>
using namespace std;
long long d[91][2];
int main(){
int n; cin>>n;
d[1][0] = 0; //x
d[1][1] = 1; //1
d[2][0] = 1; //10
d[2][1] = 0; //x
for(int i = 3; i <= n ; i++){
d[i][0] = d[i-1][0] + d[i-1][1];
d[i][1] = d[i-1][0];
//cout<<d[i][0]<<","<<d[i][1]<<"\n";
}
long long sum = d[n][0] + d[n][1];
cout<<sum<<'\n';
return 0;
}
//FB 한계값 ( N = 90)을 넣으니까 int 오버플로우가 생기네.. 예상치 못함..ㅜ
플라즈마 IT 블로그 - 코딩 공부 정리, IT 정보 공유
https://plasmacodeing.tistory.com/
조금이라도 도움이 되었다면 공감 및 댓글 주세요~~
반응형
'알고리즘 > 백준[BOJ] 오답노트' 카테고리의 다른 글
구름IDE 디버깅 하는 방법 - 백준 알고리즘 오답노트 1913 (0) | 2019.05.07 |
---|---|
알고리즘 고수의 코드를 보다. - 백준 알고리즘 오답노트 5073 (0) | 2019.05.07 |
배열 초기화 방법 fill vs memset - 백준 알고리즘 오답노트 1260 (0) | 2019.05.06 |
C 숫자 각 자리수 분해. 이,일의 자리수 분해 - 백준 알고리즘 오답노트 1110 (0) | 2019.05.06 |
C++ int 오버플로어 예측 - 백준 알고리즘 오답노트 2004 (0) | 2019.05.06 |