반응형
https://www.acmicpc.net/problem/5046
5046번: 전국 대학생 프로그래밍 대회 동아리 연합
첫째 줄에 참가자의 수 1 ≤ N ≤ 200, 예산 1 ≤ B ≤ 500000, 호텔의 수 1 ≤ H ≤ 18, 고를 수 있는 주의 개수 1 ≤ W ≤ 13이 주어진다. 다음 줄부터 각 호텔의 정보가 주어지며, 호텔의 정보는 두 줄로
www.acmicpc.net
모든 경우의 수를 탐색하는 brute force문제였습니다.
📕 풀이방법
📔 입력 및 초기화
지원자의 수 n, 예산 b, 호텔의 수 h, 고를 수 있는 주의 개수 w, 인당 숙박비 pricePerPerson, 주마다 호텔의 수용 가능 인원 수 capacityPerWeek, 최소비용 minPrice를 선언한 뒤 적절히 입력 받습니다.
📔 풀이과정
각 호텔의 정보를 입력받을 때 마다 다음 두 조건을 검사합니다.
1. 현재 주가 지원자의 수보다 많은지
2. 예산이 되는지
1, 2조건이 만족한다면 드는 숙박비용의 최솟값을 minPrice에 저장합니다.
📔 정답출력
minPrice를 출력합니다.
📕 Code
#include <bits/stdc++.h>
using namespace std;
int n, b, h, w, pricePerPerson, capacityPerWeek, minPrice = 0x3f3f3f3f;
int main(){
cin >> n >> b >> h >> w;
for(int i = 0; i < h; i++) {
cin >> pricePerPerson;
for(int j = 0; j < w; j++){
cin >> capacityPerWeek;
if(capacityPerWeek < n) continue;
if(b < n * pricePerPerson) continue;
minPrice = min(minPrice, n*pricePerPerson);
}
}
if(minPrice == 0x3f3f3f3f) cout << "stay home";
else cout << minPrice;
}
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > Brute Force' 카테고리의 다른 글
(C++) - 백준(BOJ) 9161 : Sir Bedavere’s Bogus Division Solutions (0) | 2022.06.16 |
---|---|
(C++) - 백준(BOJ) 18409 : 母音を数える (Counting Vowels) (0) | 2022.06.15 |
(C++) - 백준(BOJ) 8295 : Rectangles (0) | 2022.05.30 |
(C++) - 백준(BOJ) 6030 : Scavenger Hunt (0) | 2022.05.27 |
(C++) - 백준(BOJ) 4108 : 지뢰찾기 (0) | 2022.05.26 |