STUDYING/Algorithm
[BOJ] 11058 : 크리보드
EOZIN
2019. 2. 9. 15:35
728x90
문제
풀이
memo[1] ~memo[6] 까지는 n의 개수로 출력됨.
for문을 7부터 돌리면서
memo[i] = memo[i-3]*2,
memo[i] = memo[i-4]*3,
memo[i] = memo[i-5]*4
중 가장 큰 수 출력.
코드
#include <stdio.h>
#include <algorithm>
using namespace std;
long long memo[101];
int main(){
long long n;
scanf("%ld", &n);
for (int i = 1; i <= 6; ++i) {
memo[i] = i;
}
for (int i = 7; i <= n ; ++i) {
memo[i] = memo[i-3] * 2;
memo[i] = max(memo[i], memo[i-5]*4);
memo[i] = max(memo[i], memo[i-4]*3);
}
printf("%ld", memo[n]);
return 0;
}