728x90
반응형
브론즈Ⅰ
https://www.acmicpc.net/problem/2869
풀이 방법
반복문을 사용해 풀 경우 시간초과가 나기 때문에 수식을 이용해 풀었다. 마지막날에는 떨어지는 것을 고려하지 않아도 되므로, V-B미터를 올라가는 것이라고 생각하였고, A-B미터 만큼을 하루에 올라간다고 생각하여 (V-B)/(A-B)라는 수식을 작성했다. 여기에 V-B가 9미터이고 A-B가 2미터인 경우와 V-B가 똑같이 9미터이고 A-B가 3미터인 경우를 생각해볼때 (V-B)/(A-B)에 나머지가 존재하지 않으면 그대로, 존재하면 +1일을 더해주어야 한다는 사실을 알 수 있다.
내 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#pragma warning(disable:4996)
#include <stdio.h>
int main(void) {
int A, B, V, d;
scanf("%d %d %d", &A, &B, &V);
d = (V-B)/(A-B);
if ((V - B) % (A - B) != 0)
d += 1;
printf("%d\n", d);
return 0;
}
|
cs |
느낀점
문제를 보자마자 반복문이 떠오르겠지만, 시간제한이 걸려있는 것을 수상하게만 본다면 수식을 사용해 구해야 한다는 것을 떠올릴 수 있다.
728x90
반응형
'백준 알고리즘 단계별로 풀어보기 > 기본수학1' 카테고리의 다른 글
백준 알고리즘 10757번 큰 수 A+B (C언어) (0) | 2023.02.26 |
---|---|
[백준 알고리즘 2839번 문제] 설탕배달 (C언어) #실버Ⅳ (0) | 2023.02.21 |
[백준 알고리즘 2775번 문제] 부녀회장이 될테야 (C언어) #브론즈Ⅰ (0) | 2023.02.15 |
[백준 알고리즘 10250번 문제] ACM 호텔 (C언어) #브론즈Ⅲ (0) | 2023.02.07 |
[백준 알고리즘 1193번 문제] 분수찾기 (C언어) #브론즈Ⅰ (0) | 2023.01.24 |