알고리즘
[백준알고리즘] 2869 - 달팽이는 올라가고 싶다
DevBee
2021. 5. 26. 06:08
https://www.acmicpc.net/problem/2869
2869번: 달팽이는 올라가고 싶다
첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)
www.acmicpc.net
달팽이가 올라가고 내려가고를 며칠 반복할 때 도착하는 날짜를 구하는 것으로 도착한 날 미끄러지는 것은 계산에서 빼기 때문에 아래와 같은 식을 세울 수 있습니다.
(올라간 거리 * 날짜) - (내려간 거리 * (날짜 - 1)) >= 나무 높이
즉, 정상에 도달하는 날짜는 (나무 높이 - 내려간 거리) / (올라간 거리 - 내려간 거리) 로 만약 소수점이 나온다면 올림하여 출력합니다.
자바 코드는 다음과 같습니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] input = br.readLine().split(" ");
int a = Integer.parseInt(input[0]);
int b = Integer.parseInt(input[1]);
int v = Integer.parseInt(input[2]);
int answer = (int) Math.ceil((double)(v - b) / (a - b));
System.out.println(answer);
}
}