[boj] (b1) 2869 달팽이는 올라가고 싶다
✅ 구현
문제
풀이
시간 제한이 0.15초로 굉장히 작고, 변수들의 범위는 (1 ≤ B < A ≤ V ≤ 1,000,000,000)로 굉장히 크므로 단순 반복문으로는 풀 수 없다.
따라서, 수학적으로 구현하는 문제!
한번 정상에 올라간 후에는 미끄러지지 않는다고 했으므로 목표 높이를 V가 아닌 V-A로 잡는다.
만약 V-A까지 도달하지 못했다면 다음날 낮에 마저 올라가면 됨 (조건문으로 구현)
코드
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int A, B, V, day = 1;
cin >> A >> B >> V;
day += (V-A)/(A-B);
if((V-A)%(A-B) != 0) day++;
cout << day << "\n";
return 0;
}
Author And Source
이 문제에 관하여([boj] (b1) 2869 달팽이는 올라가고 싶다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@peanut_/boj-b1-2869-달팽이는-올라가고-싶다
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int A, B, V, day = 1;
cin >> A >> B >> V;
day += (V-A)/(A-B);
if((V-A)%(A-B) != 0) day++;
cout << day << "\n";
return 0;
}
Author And Source
이 문제에 관하여([boj] (b1) 2869 달팽이는 올라가고 싶다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@peanut_/boj-b1-2869-달팽이는-올라가고-싶다저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)