프로그래밍/CodeUp
CodeUp[Q_2745] : 우물 탈출!
조원일
2020. 4. 22. 17:16
728x90
1. 문제
https://codeup.kr/problem.php?id=2745
우물 탈출!
변수 $a$, $b$, $c$가 공백을 기준으로 입력된다.($0<c<b<a<=2,147,483,647$)< p=""> </c<b<a<=2,147,483,647$)<>
codeup.kr
[출처 : 코드업(https://codeup.kr/)]
이번에는 높이 a의 우물 바닥에서 낮에는 b만큼 올라가고 밤에는 c만큼 내려올때
며칠 만에 탈출 할 수 있는지 해결하는 문제입니다.
a의 값이 21억이 넘기 때문에 for문을 이용하여 풀면 시간초과가 나기 때문에 다른 방법으로 해결해야 합니다.
낮에 탈출할수 없는 높이(a - b)만큼은 일일이 구할 필요없이 몫과 나머지 공식으로 구할수 있습니다.
2. 풀이방법
STEP 1. (a-b)높이까지는 나눗셈 한번으로 계산
3. 해답
#include <stdio.h>
int main() {
int a, b, c;
int count = 0;
scanf("%d %d %d", &a, &b, &c);
// (a-b)높이만큼 올라가는데 걸리는 일수
count = (a - b) / (b - c);
// (a-b)높에이 있을경우 낮에 b만큼 올라가지만
// a보다 크지 않아 탈출x
if ((a - b) % (b - c) != 0) count++;
count++;
printf("%d\n", count);
return 0;
}
해당 코드는 제가 직접 작성한 코드이며 참고용으로만 사용하세요.