BEAKJOON

백준(2869번 달팽이는 올라가고 싶다)풀이 C++

Shin_jisoo 2021. 1. 12. 18:34
728x90

www.acmicpc.net/problem/2869

 

2869번: 달팽이는 올라가고 싶다

첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)

www.acmicpc.net

1) 주석 없는 VERSION

#include <stdio.h>
#include <iostream>
#include <string>

using namespace std;

int main() {
	int a, b, v;
	cin >> a >> b >> v;

	int cnt = (v - a) / (a - b);

	if ((v-a) % (a - b) == 0) {
		cout << cnt+1;
	}
	else {
		cout << cnt+2;
	}
}

2) 주석 있는 VERSION

#include <stdio.h>
#include <iostream>
#include <string>

using namespace std;

int main() {
	int a, b, v;
	cin >> a >> b >> v;

	int cnt = (v - a) / (a - b); // 달팽이가 올라가는데 걸리는 일수
	
	//첫 날에 올라간 경우를 +1
	
	//정상에 도달한 경우 미끄러지지 않으므로 그대로.
	if ((v-a) % (a - b) == 0) {
		cout << cnt+1;
	}

	//도달하지 못한 경우 나머지만큼 올라가기 위해 하루가 더 필요
	else {
		cout << cnt+2;
	}
}