[C] 백준 11256 사탕
https://www.acmicpc.net/problem/11256
문제
당신은 사탕 공장의 주인이다. 날마다, 당신은 J개의 사탕을 가게에 보내기 위해 상자에 포장해야 한다.
당신은 크기가 다른 상자 N개를 가지고 있다. 당신은 편리를 위해 상자를 최소한으로 쓰려고 한다. (박스를 다 채울 필요는 없다. 일부분만 채워도 된다.)
당신이 공장에서 나오는 사탕의 개수와 각 상자의 크기를 입력받고, 상자를 최소한으로 쓸 때의 사용되는 상자 개수를 출력하는 프로그램을 작성하라. 사탕들을 포장할 공간은 충분하다는 것이 보장된다.
제출 421 정답 비율 70%
코드
#include <stdio.h>
#include <stdlib.h>
void main() {
int N = 0, J = 0;
int sum = 0;
scanf("%d %d", &J, &N);
//사탕의 개수 J, 상자의 개수 N개(모두 크기 다름)
int* r = malloc(N * sizeof(int));
int* c = malloc(N * sizeof(int));
int* box = malloc(N * sizeof(int));
for (int i = 0; i < N; i++) {
scanf("%d %d", &r[i], &c[i]);
box[i] = r[i] * c[i];
}
//가로세로 입력하고 박스는 가로랑 세로 곱한 거.
int temp;
for (int i = 0; i < N - 1; i++) {
for (int j = i + 1; j < N; j++) {
if (box[i] < box[j]) {
temp = box[j];
box[j] = box[i];
box[i] = temp;
}
}
}
//box를 내림차순으로 정렬
for (int i = N - 1; i >= 0; i--) {
if (J - box[i] > 0) {
J -= box[i];
sum++;
}
}
//박스 총 몇개 필요한지 count
printf("%d", sum);
}
Author And Source
이 문제에 관하여([C] 백준 11256 사탕), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@z00m__in/C-백준-11256저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)