Computer Science/Algorithm Problem

백준 알고리즘] 2965 - 캥거루 세마리(COCI 2008/2009)

TwinParadox 2017. 10. 9. 23:20
728x90

시간 제한 : 1 초

메모리 제한 : 128 MB



문제

캥거루 세 마리가 사막에서 놀고 있다. 사막에는 수직선이 하나 있고, 캥거루는 서로 다른 한 좌표 위에 있다.


한 번 움직일 때, 바깥쪽의 두 캥거루 중 한 마리가 다른 두 캥거루 사이의 정수 좌표로 점프한다. 한 좌표 위에 있는 캥거루가 두 마리 이상일 수는 없다.


캥거루는 최대 몇 번 움직일 수 있을까?






입력

첫째 줄에 세 캥거루의 초기 위치 A, B, C가 주어진다. (0 < A < B < C < 100)






출력

캥거루가 최대 몇 번 움직일 수 있는지 출력한다.






소스코드

#include <iostream>
using namespace std;
int main(void)
{
	int a, b, c, sub1, sub2;
	cin >> a >> b >> c;
	sub1 = b - a, sub2 = c - b;
	cout << (sub1 < sub2 ? sub2 : sub1) - 1;
}






Tip

수학적으로 잠깐 고민해보면 된다. 가운데 캥거루와 양 옆 캥거루 간의 거리 중 거리가 먼 케이스만 고려하면 된다. 한 번 점프할 때 가용 공간이 사라지기 때문에 1만 빼주면 된다.

728x90