본문 바로가기

Algorithm/Implementation

(C++) - 백준(BOJ) 11109 : 괴짜 교수

반응형

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

 

11109번: 괴짜 교수

첫째 줄에 입력으로 테스트케이스의 개수 T (T ≤ 1000)가 주어진다. 각각의 테스트케이스에 대해 정수 d, n, s, p가 한 칸의 공백을 사이로 주어진다. d (0 ≤ d ≤ 1000000)는 병렬 버전을 개발하는데

www.acmicpc.net

간단 구현 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

테스트 케이스 수 t, 병렬 개발 시간 d, 프로그램 실행 횟수 n, 직렬 수행시간 s, 병렬 수행 시간 p를 선언 후 t동안 while loop를 수행하며 알맞게 입력받습니다.

📔 풀이과정

 1. 병렬시 전체 수행시간은 d + n*p입니다.

 2. 직렬의 경우 n*s입니다.

시간이 짧을 수록 유리하므로 조건에 따라 답을 나눕니다.

📔 정답출력

조건에 따라 정답을 출력해줍니다.


📕 Code

#include <bits/stdc++.h>
using namespace std;
int t, d, n, s, p;
int main(){
    cin >> t;
    while(t--){
        cin >> d >> n >> s >> p;
        int parallelTime = d + n * p, notParallelTime = n * s;
        if(parallelTime > notParallelTime) cout << "do not parallelize\n";
        else if(parallelTime < notParallelTime) cout << "parallelize\n";
        else cout << "does not matter\n";
    }
}