아이들이 많이 묻는 질문 중에 하나가 "하늘에는 얼마나 많은 별들이 있나요?" 이상적인 조건하에서는 , 심지어 맨눈으로 보더라도 , 거의 8 천개의 별들을 북쪽 하늘에서 관측할 수 있다.
성능 좋은 망원경을 가지면 더 많은 별들을 볼수 있지만 시야가 제한되므로 당신이 한 번에 볼수 있는 것은 그 보다 많이 작다.
지구에서 몇 십억 광년 떨어진 아이들도 이런 비슷한 질문을 할지도 모른다. 그들의 망원경도 우리가 가진 거와 비슷하게 원형으로 생겼더라도 외계인의 눈이 여러 개라 한 번에 여러 망원경을 통해서 볼 수 있어 더 많이 볼수 있을지도 모른다.
문제는 별의 위치와 망원경의 제원이 주어질 때 망원경을 통해서 볼수 있는 별의 수를 구하는 것이다.
sx, sy, and sz. 이는 각 별의 3 차원 좌표 (sx, sy, sz) 이다. -1000 ≤ sx ≤ 1000, -1000 ≤ sy ≤ 1000, -1000 ≤ sz ≤ 1000, 그리고 (sx, sy, sz) ≠ (0,0,0)
처음 세개의 수는 망원경의 방향을 나타낸다. 모든 망원경의 원점 (0,0,0)에 위치하고 있고 ,별들의 크기는 무시한다. 즉 세 수 (tx,ty,tz) 는 망원경을 통해서 볼수 있는 중간지점의 좌표이다. -1000 ≤ tx ≤ 1000, -1000 ≤ ty ≤ 1000, -1000 ≤ tz ≤ 1000, 그리고 (tx, ty, tz) ≠ (0, 0, 0).
4 번째 수 ψ (0 ≤ ψ ≤ π/2) 는 각도 (angular radius) 가 라디언 값으로 주어진다. 즉 이는 망원경이 한 번에 볼수 있는 시야이다.
θi,j 를 i 번째 별의 방향과 j 번째 망원경의 중심의 방향 사이의 각도로 정의 하자.
θi,j 가 ψj 보다 작으면 i 번째 별이 j 번째 망원경을 통해서 관측 가능하다.
단, 모든 i,j 의 모든 쌍에 대해서 다음 조건은 성립한다.
|θi,j - ψj| > 0.00000001
하나의 별이 여러개의 망원경에서 관측할 수 있는 경우 이를 여러개로 간주해서는 안된다.
입력 3 100 0 500 -500.243 -200.1 -300.5 0 300 200 2 1 1 1 0.65 -1 0 0 1.57 출력 2 입력 3 1 0 0 0 1 0 0 0 1 4 1 -1 -1 0.9553 -1 1 -1 0.9554 -1 -1 1 0.9553 -1 1 -1 0.9554 출력 1 입력 3 1 0 0 0 1 0 0 0 1 4 1 -1 -1 0.9553 -1 1 -1 0.9553 -1 -1 1 0.9553 -1 1 -1 0.9553 출력 0
출처: Japan 2006