맛있는감귤

BOJ : 2979 트럭 주차 본문

알고리즘/백준 알고리즘

BOJ : 2979 트럭 주차

맛있는감귤 2017. 2. 21. 00:53

문제 : https://www.acmicpc.net/problem/2979


출처

Contest Croatian Open Competition in Informatics COCI 2007/2008 Contest #6 1번


시뮬레이션 문제지만 반복문 없이 풀 수 있지 않을까 고민했지만 생각이 나지않아 말 그대로 시뮬레이션처럼 풀었다.

트럭의 구분없이 몇대가 있느냐만 고려해주면 되는 문제이다.


#include <cstdio>
#include <queue>
using namespace std;

int main(){
    int A,B,C,cnt=0,ans=0;
    priority_queue<pair<int, bool>> q;
    scanf("%d %d %d",&A,&B,&C);
    for(int i=0;i<3;i++) {
        int a,b;
        scanf("%d%d",&a,&b);
        q.push(make_pair(-a, true));
        q.push(make_pair(-b, false));
    }
    for(int i=1;i<=100;i++){
        while(-q.top().first == i){
            if(q.top().second) cnt++;
            else cnt--;
            q.pop();
            if(q.empty()) break;
        }
        if (cnt==1) ans+=A;
        if (cnt==2) ans+=B*2;
        if (cnt==3) ans+=C*3;
        if(q.empty())break;
    }
    printf("%d\n",ans);
}

'알고리즘 > 백준 알고리즘' 카테고리의 다른 글

BOJ : 1182 부분집합의 합  (0) 2017.02.22
BOJ : 1463 1로 만들기  (0) 2017.02.21
BOJ : 1890 점프  (0) 2017.02.16
BOJ : 5397 키로거  (0) 2017.02.15
BOJ : 9019 DSLR  (0) 2017.02.09