Study/Problem Solving
[BOJ_22864] 피로도
monitor
2023. 11. 19. 17:32
설명
크게 설명을 할 수 있는 문제가 아님. 문제에 주어진 식을 그대로 구현을 하면 되는 문제다. 현재 피로도를 계산해두고 현재 할 수 있는 일량을 적재하면서 체크해나가는 문제
코드
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