[Silver I] 너 그리고 나 (NAVILLERA) - 32282
성능 요약
메모리: 109544 KB, 시간: 92 ms
분류
애드 혹, 기하학
제출 일자
2026년 04월 25일 22:04:59
문제 설명
나비처럼 날아 나나나 나빌레라
바람아 바람아 불어라
훨훨 날아가 너에게로 다가갈 수 있도록
하얀 진심을 담아
나는 너를 향해 나비처럼 날아가고자 한다. 나는 좌표평면에서 $(0,0)$ 지점에 있으며, 너는 $(X,Y)$에 있다.
나비처럼 날아가기 위해, 나는 0번 이상의 ”날갯짓”을 할 수 있다.
위치 $(a,b)$에서 한 번의 ”날갯짓”을 하면 나는 $(x-a)^2+(y-b)^2=c^2$인 $(x,y)$로 이동할 수 있다.
너의 위치인 $(X,Y)$에 도달하기 위한 날갯짓의 최소 횟수를 구하여라.
입력
첫째 줄에 $X,Y,c$가 주어진다.
출력
첫째 줄에 날갯짓의 최소 횟수를 출력하라.
💡 해결 방법
💻 코드
# softkleenex설정로그아웃
# Logo
# 문제
# 문제집
# 대회
# 채점 현황
# 랭킹
# 게시판
# 그룹
# 더 보기
# 32282번
# 제출
# 맞힌 사람
# 숏코딩
# 재채점 결과
# 채점 현황
# 내 제출
# 질문 게시판
# 너 그리고 나 (NAVILLERA)
# 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율
# 1 초 1024 MB 218 101 94 50.538%
# 문제
# 나비처럼 날아 나나나 나빌레라
# 바람아 바람아 불어라
# 훨훨 날아가 너에게로 다가갈 수 있도록
# 하얀 진심을 담아
# 나는 너를 향해 나비처럼 날아가고자 한다. 나는 좌표평면에서 $(0,0)$ 지점에 있으며, 너는 $(X,Y)$에 있다.
# 나비처럼 날아가기 위해, 나는 0번 이상의 ”날갯짓”을 할 수 있다.
# 위치 $(a,b)$에서 한 번의 ”날갯짓”을 하면 나는 $(x-a)^2+(y-b)^2=c^2$인 $(x,y)$로 이동할 수 있다.
# 너의 위치인 $(X,Y)$에 도달하기 위한 날갯짓의 최소 횟수를 구하여라.
# 입력
# 첫째 줄에 $X,Y,c$가 주어진다.
# 출력
# 첫째 줄에 날갯짓의 최소 횟수를 출력하라.
# 제한
# $-10^4\leq X,Y\leq 10^4$
# $1\leq c\leq 10^{4}$
# 입력으로 주어지는 모든 수는 정수이다.
# 예제 입력 1
# 4 3 4
# 예제 출력 1
# 2
# 예제 입력 2
# 1 1 10
# 예제 출력 2
# 2
# 예제 입력 3
# 3 4 5
# 예제 출력 3
# 1
# 예제 입력 4
# 10 0 1
# 예제 출력 4
# 10
# 예제 입력 5
# 0 0 1
# 예제 출력 5
# 0
import math
x, y, z = map(int, input().split())
distance = pow( (x ** 2 + y ** 2) , 1/2)
ans = 0
while True:
if distance == 0:
break
if distance % z == 0:
ans = distance / z
distance = 0
elif distance > 2*z:
ans += 1
distance -= 1 * z
elif distance < 2 * z:
distance = 0
ans += 2
print(int(ans))