본문 바로가기

백준/수학8

백준 10517 c++ "Radar Coverage" -PlusUltraCode- https://www.acmicpc.net/problem/10517 [필자 사고]필자는 이 문제를 최소외접원 알고리즘을 이용하여 문제를 해결했다.ratio는 0.995 로 잡았고 iteration 은 30000으로 잡아 경사하강법 원리를 이용하여 천천히 진행했다.[코드 해설]전역 변수와 데이터 구조이 코드에서는 세 점의 좌표를 저장하기 위해 두 개의 전역 벡터 a와 b를 사용합니다.a: 세 점의 X 좌표를 저장.b: 세 점의 Y 좌표를 저장.N은 테스트 케이스의 개수를 나타내는 전역 변수입니다. 3. 테스트 케이스 처리: Game_Start 함수이 함수는 한 테스트 케이스의 중심 좌표를 계산하고 출력하는 역할을 합니다. 주요 과정은 다음과 같습니다:1) 데이터 초기화 및 입력a와 b를 초기화하고, 세 점.. 2025. 1. 20.
백준 9158 c++ "Super Star" -PlusUltraCode- https://www.acmicpc.net/problem/9158 [필자 사고]최소 외접원 문제이다. 이 문제만의 특이한 점은 구형태로 주어졌다는 점이다.다만 구형태로 주어졌어도 하나의 변수만 는 것뿐 2차원에서 풀던것과 똑같이 풀면된다. 필자는 이번에 30000번의 iteration으로 설정했고 ratio 는 0.995로 갱신으로 설정해서 답을 구했다 [코드 해설]입력 처리사용자로부터 점의 개수 N을 입력받습니다.각 점의 (x, y, z) 좌표를 입력받아 세 개의 벡터 a, b, c에 저장합니다.a는 x좌표, b는 y좌표, c는 z좌표를 저장합니다.특징:N = 0이면 프로그램이 종료됩니다.3. 초기화벡터 초기화:새로운 점을 입력받을 때마다 벡터 a, b, c를 초기화합니다.초기 중심점 계산:x, y, .. 2025. 1. 20.
백준 11930 c++ "Smallest Enclosing Sphere" -PlusUltraCode- https://www.acmicpc.net/problem/11930 [필자 사고]최소 외접원 문제이다. 이 문제만의 특이한 점은 구형태로 주어졌다는 점이다.다만 구형태로 주어졌어도 하나의 변수만 는 것뿐 2차원에서 풀던것과 똑같이 풀면된다. 필자는 이번에 20000번의 iteration으로 설정했고 ratio 는 0.995로 갱신으로 설정해서 답을 구했다.[코드 해설]1. 입력 처리먼저 NNN개의 점의 개수를 입력받습니다.각 점의 xxx, yyy, zzz 좌표를 각각 세 개의 벡터 a, b, c에 저장합니다. 이 벡터들은 각각 모든 점의 xxx, yyy, zzz 좌표를 담고 있어 이후 계산에서 활용됩니다.2. 초기 중심점 계산중심점을 구하기 위해 각 좌표의 평균값을 계산합니다.xxx 좌표의 평균은 모든 .. 2025. 1. 20.
백준 13708 c++ "모든 점을 포함하는 원" -PlusUltraCode- https://www.acmicpc.net/problem/13708 [필자 사고]이 문제는 최소외접원 알고리즘을 이용하여 푸는 문제이다.c++에서는 두점사이 거리를 구하는 공식을 hypot() 함수로 제공해서 쉽게 풀 수 있다.최소외접원을 간단하게 말하자면 모든 점을 포함하는 최소크기의 원을 말한다.필자는 30000번의 수행을 거치고 매 수행마다 ratio를 0.994씩 곱해줘서 조금씩 x와 y좌표를이동하는 식으로 문제를 해결했다.[코드 해설]2. 입력 처리점의 개수 N을 입력받습니다.각 점의 (x, y) 좌표를 저장하기 위해 두 개의 벡터 a(x좌표)와 b(y좌표)를 사용합니다.반복문을 통해 점의 좌표를 입력받아 각 벡터에 저장합니다.3. 초기화초기 중심점 계산:모든 점의 x좌표와 y좌표의 평균을 계산.. 2025. 1. 20.