전공공부
[BOJ_22864] 피로도 본문
설명
크게 설명을 할 수 있는 문제가 아님. 문제에 주어진 식을 그대로 구현을 하면 되는 문제다. 현재 피로도를 계산해두고 현재 할 수 있는 일량을 적재하면서 체크해나가는 문제
코드
package Math;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class BOJ_22864 {
public static void main(String[] args) throws Exception{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer tk = new StringTokenizer(in.readLine()," ");
int A = Integer.parseInt(tk.nextToken()); // 1시간 일 하면 A 만큼 피로가 쌓임
int B = Integer.parseInt(tk.nextToken()); // 1시간에 B 만큼 일 함
int C = Integer.parseInt(tk.nextToken()); // 1시간에 C 만큼 피로를 삭제함
int M = Integer.parseInt(tk.nextToken()); // 피로를 M을 넘기면 안 됨
int work = 0;
int fatigue = 0;// 피로도
for(int i = 0; i < 24; i++){
if(fatigue + A <= M){
fatigue += A;
work += B;
}else{
fatigue -= C;
if(fatigue < 0){
fatigue = 0;
}
}
}
System.out.println(work);
}
}
22864번: 피로도
첫 번째 줄에 네 정수 $A$, $B$, $C$, $M$이 공백으로 구분되어 주어진다. 맨 처음 피로도는 0이다.
www.acmicpc.net
'Study > Problem Solving' 카테고리의 다른 글
[BOJ_2960] 에라토스테네스의 체 (1) | 2023.11.20 |
---|---|
[BOJ_5347] LCM (0) | 2023.11.19 |
[BOJ_1110] 더하기 사이클 (0) | 2023.11.16 |
[BOJ_2745] 진법 변환 (1) | 2023.11.15 |
[BOJ_3151] 합이 0 (1) | 2023.11.14 |