728x90
https://www.acmicpc.net/problem/2839
문제 설명
5와 3으로 만들 수 있는 모든 경우의 수를 탐색해야 하는 문제
문제 풀이
#include<stdio.h>
int arr[5001];
int main()
{
int i, n;
scanf("%d", &n);
for(i = 1; i <= n; i++) {
arr[i] = -1;
}
for(i = 3; i <= n; i++) {
if(arr[i-3] != -1) arr[i] = arr[i-3] + 1;
}
for(i = 5; i <= n; i++) {
if(arr[i-5] != -1) arr[i] = arr[i-5] + 1;
}
printf("%d", arr[n]);
return 0;
}
최소값을 비교해야하지만, 3kg 설탕을 이용할 때의 개수보다 5kg 설탕을 이용할 때의 개수가 당연히 더 적게 사용할 수 있으므로 비교는 생략했다.
'코테 > 백준' 카테고리의 다른 글
[백준] 9095 1,2,3 더하기 (0) | 2023.07.21 |
---|---|
[백준] 1463 1로 만들기 - C++ (0) | 2023.07.21 |
[백준] 10845 큐 - C++ (0) | 2023.07.21 |
[백준] 10799 쇠막대기 - C++ (0) | 2023.07.20 |
[백준] 10815 숫자 카드 - C++ (0) | 2023.07.20 |