11726
풀이 코드
#include <iostream>
using namespace std;
// 11726
int width;
int solve(int currentWidth){
// 기저사례 : 현재 너비가 2이면 2가지 반환, 1 이면 1가지 반환
switch(currentWidth){
case 1 :
return 1;
break;
case 2 :
return 2;
}
int ret = 0;
ret += solve(currentWidth - 1) + solve(currentWidth - 2);
return ret;
}
int main(){
cin >> width;
cout << solve(width) << endl;
}
#include <iostream>
using namespace std;
// 11726
int main(){
int width;
int tile[1001];
cin >> width;
tile[1] = 1;
tile[2] = 2;
for (int i = 3; i <= width; i++) {
tile[i] = (tile[i - 1] + tile[i - 2]) % 10007;
}
cout << tile[width] << endl;
}
해설
피보나치 수열처럼 더해나가는 것이었습니다. 문제의 규칙을 찾는 과정만이 핵심이었고 코드 구현은 어렵지 않은 문제였습니다.
반응형
'ps > 브루트 포스' 카테고리의 다른 글
3085 사탕 게임 (0) | 2021.08.21 |
---|---|
2309 일곱 난쟁이 (0) | 2021.08.21 |
1476 (0) | 2021.07.10 |
[algospot] 게임판 덮기 BOARDCOVER (0) | 2021.06.13 |
[algospot] PICNIC (0) | 2021.06.08 |