728x90
320x100
2869번: 달팽이는 올라가고 싶다
첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)
www.acmicpc.net
반응형
📌 접근 방법
🚫 시간초과
- 반복문을 이용해서 하루 올라가고 내려가고 반복하며 풀었더니 시간초과가 났다.
✔ 해결 방법
- 다 올라가면 미끄러지지 않음
- 목표 : 나무의 높이가 아닌 나무 높이에서 하루 동안 올라갈 수 있는 높이인 A 높이 만큼 빼준 높이
- 하루동안 올라가고 내려가는 높이를 합쳐 A-B를 나눠준다.
- 여기서 몫이 며칠 동안 올라갔는지 나타내준다.
- 꼭대기까지 올라갔다면 더이상 올라가지도 내려가지도 않아도 되기 때문에 끝낼 수 있음
- (V-A)%(A-B)가 0이 아니라면 하루 더 올라갈 높이가 남아있다는 뜻이므로 하루 더 추가해준다.
✅ Pass Code
#include<iostream>
#include<string>
#include<cmath>
using namespace std;
int main()
{
int A,B,V, days=1;
cin>>A>>B>>V;
days+=(V-A)/(A-B);
if((V-A)%(A-B)!=0)days++;
if(V==A)cout<<"1"<<endl;
else cout<<days<<endl;
return 0;
}
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/002.gif)
728x90
반응형
'Coding Test > Baekjoon' 카테고리의 다른 글
[BOJ/백준/C++] 1018번 체스판 다시 칠하기 (1) | 2024.01.26 |
---|---|
[BOJ/백준/C++] 10757번 큰 수 A+B (0) | 2024.01.26 |
[BOJ/백준/C++] 1193번 분수찾기 (1) | 2024.01.26 |
[BOJ/백준/C++] 2903번 중앙 이동 알고리즘 (1) | 2024.01.26 |
[BOJ/백준/C++] 2745번 진법 변환 (0) | 2024.01.26 |