백준/C++

백준 2869번 : 달팽이는 올라가고 싶다 [C++]

대니스 2022. 8. 9. 17:43

주소 : https://www.acmicpc.net/problem/2869

 

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

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

www.acmicpc.net

소스 코드 : 

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
int main()
{
	int a, b, c = 0;
	int alpa, beta = 0;//4 1 3
	cin >> a >> b >> c;
	alpa = (c - a) % (a - b);
	beta = (c - a) / (a - b);
	if (alpa == 0)
		cout << beta+1;
	else if (alpa != 0)
	{
		if (c - a < 0)
			cout << 1;
		else cout << beta + 2;
	}
}

마무리 : 위 문제는 달팽이가 올라갔다 미끄러져서 내려가는데 여기서 중요한 점은 정상에 올라간 후에는 미끄러지지 않기 때문에 나무 막대에 올라갈 수 있는 길이를 빼준다. 그리고 올라가는데 기본적으로 하루를 더해야하고 나누어떨어지느냐 아니냐에 따라서 1을 더해줄지 말지 결정된다.