[BOJ 13433] 기하 문제

View as PDF

Submit solution

Points: 3
Time limit: 2.0s
Memory limit: 512M

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

N개의 원을 일직선 위에 겹치지 않게 놓으려고 한다. 모든 원이 직선과 접해야 한다.</p>

가장 왼쪽 원과 직선이 닿는 점과 가장 오른쪽 원과 직선이 닿는 점 사이의 거리의 최솟값을 구하는 프로그램을 작성하시오.

입력 형식

첫째 줄에 원의 개수 N (3 ≤ N ≤ 8)이 주어진다.</p>

둘째 줄에 원의 반지름이 주어진다. 원의 반지름은 1보다 크거나 같고, 1,000,000,000보다 작거나 같은 자연수이다. 

출력 형식

첫째 줄에 가장 왼쪽 원과 직선이 닿는 점과 가장 오른쪽 원과 직선이 닿는 점 사이의 거리의 최솟값을 출력한다. 정답과의 절대/상대 오차는 10-9까지 허용한다.

예제 입력 1

2
1 2

예제 출력 1

2.8284271247461903

예제 입력 2

3
7 7 7

예제 출력 2

28

예제 입력 3

3
10 20 30

예제 출력 3

62.92528739883945

예제 입력 4

5
100 100 11 11 25

예제 출력 4

200

Comments

There are no comments at the moment.