Logo
(追記) (追記ここまで)

19992번 - Вращающаяся пластина 스페셜 저지다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 512 MB5000.000%

문제

Мальчик Вася очень любит геометрию. Кроме того, ему очень нравится забивать гвозди в доску. Сегодня он изучает свою любимую металлическую пластину, которую он собирается прибить к деревянной доске.

Пластина имеет форму, ограниченную многоугольником без самопересечений и самокасаний. В первой вершине многоугольника пластина имеет маленькую петлю.

Сначала Вася кладет пластину на доску, лежащую на горизонтальном столе, и прибивает ее гвоздем к пластине через петлю в первой вершине. Вбитый гвоздь жестко закрепляет положение первой вершины, однако позволяет пластине вращаться вокруг нее.

Теперь Вася хочет забить в доску еще один гвоздь, который бы ограничил вращение пластины, но он еще не решил куда. Он наметил $m$ возможных позиций, куда он хотел бы забить гвоздь, и для каждой из них хочет узнать, на какой угол он сможет поворачивать свою пластину, если забьет в доску гвоздь в этой точке. При этом как только пластина касается гвоздя, дальше ее поворачивать нельзя.

입력

В первой строке входного файла задано число $n$ (3ドル \le n \le 2,000円$) --- количество вершин многоугольника. В следующих $n$ строках заданы координаты вершин многоугольника в порядке обхода.

В следующей строке задано число $m$ (1ドル \le m \le 2,000円$) --- количество точек, которые Вася рассматривает как возможные положения второго гвоздя. В следующих $m$ строках заданы координаты этих точек. Все эти точки находятся снаружи от исходного положения пластины.

Все координаты во входном файле целые и не превосходят 10ドル^6$ по модулю.

출력

Выходной файл должен содержать $m$ строк.

В $i$-й строке выведите два вещественных числа $\alpha_i$ и $\beta_i,ドル где $\alpha_i$ --- максимальный угол в градусах, на который можно повернуть пластину по часовой стрелке, если Вася забьет гвоздь в $i$-ю точку, а $\beta_i$ --- максимальный угол в градусах ,на который в этом случае можно повернуть пластину против часовой стрелки.

Если гвоздь не мешает пластине поворачиваться, выведите $\alpha_i = \beta_i = 360$.

Ответ считается верным, если его абсолютная или относительная погрешность относительно правильного не превосходит 10ドル^{-6}$.

제한

예제 입력 1

4
0 0
-3 -3
0 -6
3 -3
3
-8 0
-2 0
2 -1

예제 출력 1

360.000000000000 360.000000000000
45.000000000000 225.000000000000
251.565051177078 18.434948822922

힌트

На рисунке выше изображен тест из примера. Прямоугольник показывает начальное положение пластины. Точками показаны позиции, в которые Вася планирует забить гвоздь.

Гвоздь, забитый в первую точку, не мешает пластине поворачиваться.

Гвоздь, забитый во вторую точку, позволяет повернуть пластину на 45ドル^\circ$ по часовой стрелке или на 225ドル^\circ$ против часовой стрелки.

출처

Olympiad > Russian Olympiad in Informatics > Russia Team High School Programming Contest > Russia Team High School Programming Contest 2013 F번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /