(백준BAEKJOOB )- 달팽이는 올라가고 싶다 "c"
2023. 3. 13. 19:14ㆍ언어/c, c++
728x90
이 문제는 0.25초 키 때문에 while문이나 for문을 이용할 수 없는 문제였다
오직 수학적으로 해결 해야되는 문제였다 개인적으로는
매우 매우 어려웠다.
코드 1번
#include <stdio.h>
int main() {
int a, b, v; // 2 1 5
// 두가지 경우가 나온다 0일떄와 0이상일떄
int sum,su;
scanf("%d %d %d", &a, &b, &v);
su = (v - b) % (a - b);
// 나무 - 달팽이 올라간 높이 % 달팽이가 올라간 높이
if (su==0) {sum = (v - a) / (a - b);} //달팽이가 다올라갔으면 출력
else {sum = (v - a) / (a - b) + 1; } //달팽이가 다 올라가지 못했으면 출력
printf("%d", sum + 1); //인덱스는 0부터 니까 1추가
}
달팽이가 나무 길이를 낮에는 a미터 올라가고 밤에는 b미터 미끄러지니까 (V-A)/(A-B)라는 식이 나오고
달팽이가 다 올라가지 못했으면 +1을 출력해 준다 다음 날이 되기 때문에
다른 코드를 보면
count = (v - b - 1) / (a - b) + 1;
이렇게 구현하신 분들도 간혹 계셨다.
이 코드가 가독성이 매우 좋은 거 같다.
코드 2번
#include <iostream>
using namespace std;
int main() {
int a, b, v;
cin >> a >> b >> v;
int count;
count = (v - b - 1) / (a - b) + 1;
cout << count << endl;
}
다시 풀어보면 좋을 거 같은 문제이다.
728x90
'언어 > c, c++' 카테고리의 다른 글
(백준BAEKJOOB )- 공바꾸기, 공넣기 문제"c++" (0) | 2023.03.27 |
---|---|
(백준BAEKJOOB )- 16430 제리와 톰, 분수덧셈 "c" (0) | 2023.03.16 |
(백준BAEKJOOB )- 문자열 문제 4개 "c++" (0) | 2023.03.11 |
(백준BAEKJOOB )- 9012번 -괄호 "c++" (0) | 2023.03.07 |
(백준BAEKJOOB )- 5622번 -다이얼 "c++" (0) | 2023.03.06 |