본문 바로가기

프로그래밍/백준

백준 2869번: 달팽이는 올라가고 싶다 (C언어)

https://www.acmicpc.net/problem/2869

 

2869번: 달팽이는 올라가고 싶다

문제 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) 출력 첫째 줄에 달팽

www.acmicpc.net

딱봐도 계산문제입니다:3c

알고리즘 분류에 이분탐색이 있더라고요. 왜지...

정답률이 26%대네요.... 왜지.....??

더보기
#include<stdio.h>
int main(){
	int A, B, V;
	int result;
	
	scanf("%d %d %d", &A, &B, &V);
	
	//마지막날 거리를 뺍니다
	result = V-A; 
	//나누어 떨어지면(남은 거리 0) +1(마지막날)을 해줍니다. 
	if(result%(A-B)==0) result = result/(A-B) + 1; 
	//나머지(남은 거리)가 있다면 +2(남은거리+마지막날)를 해줍니다. 
	else result = result/(A-B) + 2;
	
	printf("%d",result);
	
	return 0;
}