- [백준 알고리즘] 2869번 달팽이는 올라가고 싶다 Java2020년 06월 15일
- 홀쑥
- 작성자
- 2020.06.15.:39
달팽이가 막대기를 올라가고 싶단다.
높이가 v 인 나무 막대를 달팽이가 올라가는데
낮에는 a미터 올라가고 밤에는 b미터 미끄러진다.
v : 높이
a : 낮에 움직이는 거리
b : 밤에 미끄러지는 거리
d : 올라가는데 걸리는 날
중요한 점은 낮에 올라가면 다시 미끄지지 않기 때문에 먼저 d 를 1 올려주고 v 를 a만큼 먼저 내리고 계산한다.
( a * d ) - ( b * d ) = ( v - a )
( a - b ) * d = ( v - a )
d = ( v - a ) / ( a - b ) 이다
나머지가 0이라면 ( v - a ) / ( a - b ) + 1 이 답이고
나머지가 있다면 ( v - a ) / ( a - b ) + 2 가 답이다. 코드는
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class back2869 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); long a = Long.parseLong(st.nextToken()); long b = Long.parseLong(st.nextToken()); long v = Long.parseLong(st.nextToken()); if((v-a)%(v-b)==0) { System.out.println(((int) (((v-a)/(a-b))+1))); }else { System.out.println((int) (((v-a)/(a-b))+2)); } br.close(); } }
처럼 작성했다
'Algorithm & Data Structure > 백준 알고리즘' 카테고리의 다른 글
[백준 알고리즘] 1018번 체스판 다시 칠하기 Python (0) 2021.02.16 [백준 알고리즘] 2231번 문제 분해합 구하기 Python (0) 2021.02.02 [백준 알고리즘] 1193번 분수찾기 Java (0) 2020.06.15 [백준 알고리즘] 2839번 설탕 배달 Java (0) 2020.06.15 [백준 알고리즘] 1712번 손익 분기점 Java (0) 2020.06.15 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)