[백준 22864] 피로도

2022. 1. 10. 21:54·스터디/알고리즘
#include <iostream>
using namespace std;

int main(){

    int A, B, C, M;
    int fatigue = 0, time = 0, work = 0, rest = 0, burnout = 0;

    cin >> A >> B >> C >> M;

    rest = C;
    burnout = M;

    if(A > M){
        cout << 0 << endl;
        exit(0);
    }
        while(1){
            fatigue += A;
            if(fatigue>burnout){
                fatigue -= A;
                fatigue -= rest;
                if(fatigue < 0){
                    fatigue = 0;
                }
            }
            else{
                work += B;
            }
            time++;

            if(time == 24){
                cout << work << endl;
                break;
            }
        }

    return 0;
}

fiatigue가 음수이면 0이 되는 조건이 있다는 것을 빼먹어서 바로 통과되지 못했다

 

가장 먼저 fatigue에 입력된 피로도(A) 값을 더해주고

만약 burnout보다 그 값이 크다면 더 이상의 일은 불가능하므로 fatigue에서 A를 빼주어 휴식을 먼저 취하게 해줌 (fatigue-rest)

만약 burnout보다 그 값이 작다면 work에 일의 양(B)를 더해줌

두 가지 경우 모두 작업 시간은 한 시간 지나므로 time 1 증가 처리를 해줌 (24가 되기까지)

'스터디 > 알고리즘' 카테고리의 다른 글

[백준 5212] 지구 온난화  (0) 2022.01.13
[백준 2164] 카드2  (0) 2022.01.10
[백준 2606] 바이러스  (0) 2022.01.10
[백준 20436] ZOAC 3  (0) 2022.01.10
[백준 1158] 요세푸스 문제  (0) 2022.01.06
'스터디/알고리즘' 카테고리의 다른 글
  • [백준 5212] 지구 온난화
  • [백준 2164] 카드2
  • [백준 2606] 바이러스
  • [백준 20436] ZOAC 3
덩이
덩이
찍먹 대마왕
  • 덩이
    Devlog
    덩이
  • 전체
    오늘
    어제
    • 분류 전체보기 (118)
      • 강의 (68)
        • SAP ERP (11)
        • KOSTA (32)
        • Inflearn (0)
        • etc (25)
      • 회사 (0)
        • 스터디 (3)
        • 전자정부 (0)
      • 학교 (15)
      • 스터디 (30)
        • 알고리즘 (25)
        • 프로젝트 (3)
        • 에러 (2)
        • 자격증 (0)
      • 기타 (2)
        • 자료 (1)
        • 회고록 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
    • Naver
  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
덩이
[백준 22864] 피로도
상단으로

티스토리툴바