문제
https://www.acmicpc.net/problem/21735
풀이
#include <iostream>
using namespace std;
int snow[105];
int N, M;
int bf(int pos, int count, int size){
if(pos >= N) return size;
if(count == M) return size;
int result = 0;
result = max(bf(pos+1, count+1, size+snow[pos+1]), bf(pos+2, count+1, size/2+snow[pos+2]));
return result;
}
int main(){
cin >> N >> M;
for(int i = 1; i<N+1; i++){
cin >> snow[i];
}
cout << bf(0, 0, 1);
}
풀이 방식은 재귀를 통한 완전탐색을 이용하여 풀었다. 이때 눈이 앞마당을 벗어나거나 시간이 다 되었을 경우를 종료조건으로 설정하였다.
'개인공부 > 알고리즘' 카테고리의 다른 글
BOJ 27970 [OX] (0) | 2023.09.19 |
---|---|
BOJ 28014 [첨탑 밀어서 부수기] (0) | 2023.09.19 |
BOJ 26258 [다중 일차 함수] (0) | 2023.09.19 |
BOJ 27963 [합금 주화] (0) | 2023.09.18 |
오늘 알게된 내용 2021.10.03 (0) | 2021.10.03 |