#문제
https://www.acmicpc.net/problem/2193
#작성 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include <iostream>
using namespace std;
int n;
long long int pn[91][2];
// pn[i][0] : i자리 이친수. 0으로 끝나는것 개수
// pn[i][1] : i자리 이친수. 1으로 끝나는것 개수
int main(){
cin>>n;
pn[1][0] = 0;
pn[1][1] = 1;
for(int i=2; i<=n; i++){
pn[i][0] = pn[i-1][0] + pn[i-1][1];
pn[i][1] = pn[i-1][0];
}
cout<<pn[n][0]+pn[n][1]<<'\n';
return 0;
}
|
cs |
##
처음 제출했을 때 틀렸습니다 판정을 받았는데, n의 최대값인 90을 넣어보니 -값이 출력되었다.
-> int형에는 90자리수의 이친수 개수를 다 담을 수 없다.
=> long long int 형으로 pn배열을 선언해주었더니 AC판정을 받았다.
'BOJ' 카테고리의 다른 글
BOJ 11055번 :: 가장 큰 증가 부분 수열 (0) | 2020.01.06 |
---|---|
BOJ 11049번 :: 행렬 곱셈 순서 (0) | 2020.01.06 |
BOJ 11057번 :: 오르막 수 (0) | 2020.01.05 |
BOJ 9095번 :: 1, 2, 3 더하기 (0) | 2020.01.05 |
BOJ 11066번 :: 파일 합치기 (0) | 2020.01.04 |