문제📖
풀이🙏
- 입력의 첫 줄에는 테스트케이스의 개수 T가 주어진다.
- 각각의 테스트 케이스에 대해 현재 위치 x와 목표 위치 y가 정수로 주어지며, x는 항상 y보다 작은 값을 갖는다.
- 이동거리의 경우의 수는 이전 작동시기가 k광년을 이동하였을 때는, k-1,k,k+1 광년만들 이동할 수 있다.
- y지점에 도착하기 직전의 이동거리는 안정성을 위해 반드시 1광년으로 한다.
- 각 테스트 케이스에 대해 x지점으로부터 y지점까지 정확히 도달하는데 필요한 최소한의 공간이동 장치 작동 횟수를 출력하라.
코드💻
import sys
import math
def alpha_centauri(start, end):
interval = end - start
n = math.sqrt(interval)
result = int(n) * 2
if n == int(n):
result -= 1
elif interval >= (math.pow(int(n),2) + math.pow(int(n)+1,2)) / 2:
result += 1
return result
if __name__ == '__main__':
T = int(sys.stdin.readline())
for i in range(T):
x, y = map(int,sys.stdin.readline().split())
print(alpha_centauri(x, y))
결과😎
출처 && 깃허브📝
https://www.acmicpc.net/problem/1011
github