달팽이가 낮에는 A미터 올라가고 밤에는 B미터 미끄러진다..
높이가 V미터인 막대의 정상에 올라가기 위해 며칠이 걸리는지 구하는 문제
시간제한이 있는 문제다... 잘못풀면 시간초과가 뜬다 (경험담)
주의할 점은 정상에 올라가면 미끄러지지 않는다는 점이다
그러니까 밤에 미끄러진 후 V-A미터에 도달하면 그 다음날에 바로 정상에 올라갈 수 있다!!
도달하지 않는다면..? 2미터 모자라면..? 3미터.. 4미터 막 모자라면..?은 생각할 필요가 없다
어쨌든 (V-A)를 (A-B)로 나누었을 때 1미터라도 남는다면 나눈 값에서 이틀 더 걸리는 것이다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#include <iostream>
using namespace std;
int main(void) {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int a, b, v;
cin >> a >> b >> v;
if ((v - a) % (a - b) == 0)
cout << (v - a) / (a - b) + 1;
else
cout << (v - a) / (a - b) + 2;
}
|
cs |
int main(void) 밑에 세 줄은 시간을 줄이기 위해 쓴거다
정확한 설명은..기억이 안나지만 시간이 확 준다
+ endl 말고 "\n"을 쓰면 시간단축에 도움이 된다
'Algorithm > BOJ' 카테고리의 다른 글
[백준 알고리즘/BOJ/C++] 2775 부녀회장이 될테야 (0) | 2021.01.16 |
---|---|
[백준 알고리즘/BOJ/C++] 10250 ACM 호텔 (0) | 2021.01.16 |
[백준 알고리즘/BOJ/C++] 1193 분수찾기 (0) | 2021.01.16 |
[백준 알고리즘/BOJ/C++] 2292 벌집 (0) | 2021.01.16 |
[백준 알고리즘/BOJ/C++] 1712 손익분기점 (0) | 2021.01.16 |