2

[백준] 1004 어린 왕자 with C++

문제설명 입출력 예제 개념 이 문제는 어린 왕자가 출발점에서 목표점까지 지나가야 하는 최소 행성계의 수를 찾는 문제다. 각 행성계는 2차원 평면에서 원으로 표현된다. 이 문제를 풀기 위한 핵심 개념은 다음과 같다. 1. 원의 내부에 점이 위치하는지 확인: 이 문제를 해결하기 위해서는 주어진 점이 원 안에 있는지를 확인해야 한다. 이를 위해 거리 계산 공식을 사용하면 된다. 주어진 점 (x, y)와 원의 중심 (x1, x2) 사이의 거리는 sqrt((x-x1)^2 + (y-x2)^2)로 계산하고, 이 값이 원의 반지름 r보다 작거나 같으면 점은 원 내부에 있다. 2. 출발점과 도착점이 동일한 원에 있는 경우: 문제에서는 출발점과 도착점이 동일한 원 안에 있을 경우, 어린 왕자가 그 원을 지나가지 않고 무시..

Algorithm/백준 2023.07.28

[백준] 1002 터렛 with C++

문제설명 입출력 예제 개념 이 문제는 원의 방정식을 이용하여 해결할 수 있다 된다. 즉, 조규현의 좌표에서 목표인 류재명까지의 거리를 반지름으로 하는 원과, 백승환의 좌표에서 목표까지의 거리를 반지름으로 하는 원을 그린 후, 두 원의 교점의 개수를 구하면 문제를 해결할 수 있다. 따라서 두 원의 교점의 개수를 구하는 관계를 파악하기 위해, 두 원 사이의 거리를 이용할 수 있다. 이는 교점이 2개, 1개, 0개, 무한개일 때로 나눌 수 있다. 이때 두 원의 반지름을 각각 r1, r2라고 하고, 두 원의 중점 사이의 거리를 d라고 할 때 다음이 성립한다. 교점이 무한 개: d = 0 교점이 0개: r1- r2 < d < r1 + r2 교점이 1개: d = r1 ± r2 교점이 2개: d < r1 + r2 이..

Algorithm/백준 2023.07.20