플라즈밍
플라즈마 IT
플라즈밍
  • All (163)
    • MindSet (2)
    • Wisdom (8)
    • Book (18)
    • [Web] (6)
      • [Web]Guide (2)
      • [Web]HTML-CSS-JS (1)
      • [Web]ReactJS (0)
      • [Web]NextJS (1)
    • 퀀트주식투자 (4)
      • [리포트]포트폴리오 (4)
    • 자산배분전략 (2)
      • [리포트]자산배분전략 (1)
    • 포트폴리오 (0)
      • 발걸음 (0)
    • 개발 Note (3)
    • TipNote (5)
    • 알고리즘 (27)
      • 백준[BOJ] 오답노트 (27)
      • 백준[BOJ] 강의 정리 노트 (0)
    • etc-posts (18)
      • Unity :: C# 튜토리얼 (18)
    • Web&Know (23)
    • 끄적임 (4)
    • 세상이슈 (0)
    • Youtube 유튜브 (3)
      • Youtube 채널소개 (3)
    • 창업 Know&Idea (1)
    • Web&Dev (4)
    • 프로젝트 (6)
      • Unity5 Project (3)
      • UnrealEngine4 Project (2)
      • Web Page (1)
    • 주가차트-기술적분석 (2)
    • BlockChain (7)
    • SystemDesign (11)

인기 글

최근 글

hELLO · Designed By 정상우.
플라즈밍

플라즈마 IT

알고리즘/백준[BOJ] 오답노트

다이나믹 프로그래밍 오버플로어 - 백준 알고리즘 오답노트 1012

2019. 5. 7. 07:00
반응형

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
    '알고리즘/백준[BOJ] 오답노트' 카테고리의 다른 글
    • 구름IDE 디버깅 하는 방법 - 백준 알고리즘 오답노트 1913
    • 알고리즘 고수의 코드를 보다. - 백준 알고리즘 오답노트 5073
    • 배열 초기화 방법 fill vs memset - 백준 알고리즘 오답노트 1260
    • C 숫자 각 자리수 분해. 이,일의 자리수 분해 - 백준 알고리즘 오답노트 1110
    플라즈밍
    플라즈밍
    퀀트 주식투자 자산배분 데이터분석 정보 공유 프로그래밍,투자 주제의 책 강의 리뷰 노하우 전수

    티스토리툴바