PS/브루트포스 알고리즘[Bruteforce]

백준 16917 양념 반 후라이드 반(c++)

SeungbeomKim 2023. 1. 22. 15:42
반응형

https://www.acmicpc.net/problem/16917

 

16917번: 양념 반 후라이드 반

현진 치킨에서 판매하는 치킨은 양념 치킨, 후라이드 치킨, 반반 치킨으로 총 세 종류이다. 반반 치킨은 절반은 양념 치킨, 절반은 후라이드 치킨으로 이루어져있다. 양념 치킨 한 마리의 가격은

www.acmicpc.net

문제에서 주어지는 입력 값은 양념치킨 값, 후라이드 치킨 값, 반반 치킨 값, 만들어야 할 양념치킨, 후라이드 치킨의 개수이다.

이 문제에서 신경 써야 할 부분은 반반 치킨이다. 반반 치킨을 기준으로 완전탐색(브루트 포스)을 하여 최소 금액을 구할 수 있게 됩니다. 

 

<코드>

#include <algorithm>
#include <iostream>

using namespace std;

int main()
{
    int a,b,c,x,y;

    cin>>a>>b>>c>>x>>y;

    int ans = 2100000000; 
    for(int i=0;i<=200000;i++)
    {
        ans = min(ans, (2*i*c + max(x-i,0)*a + max(y-i,0)*b));
    } 
    cout<<ans<<'\n';
}

문제에서 살 수 있는 양념, 후라이드 치킨의 개수는 각각 10만 개입니다. 즉, 반반치킨은 최대 20만 개 살 수 있고, 반반치킨을 사지 않은 것에서부터 20만 개 사는 것까지 for문을 돌려서 최솟값을 구할 수 있습니다. 

반응형