trang chủ / đề bài / viewangle

Góc nhìn

Đề bài

Mô tả

Trên mặt phẳng toạ độ có n ma-nơ-canh, ma-nơ-canh thứ i đứng tại điểm (xi,yi). Không có ma-nơ-canh nào đứng tại gốc toạ độ, và không có hai ma-nơ-canh nào đứng trùng nhau.

Bạn đứng tại gốc toạ độ và muốn nhìn thấy toàn bộ số ma-nơ-canh cùng lúc. Tầm nhìn của bạn là một góc có đỉnh tại gốc toạ độ; một ma-nơ-canh được nhìn thấy nếu nó nằm bên trong góc đó hoặc nằm trên cạnh của góc.

Hãy tìm số đo nhỏ nhất (tính bằng độ) của góc chứa tất cả n ma-nơ-canh.

Lưu ý rằng góc cần tìm có thể lớn hơn 180 độ.

Dữ liệu vào

  • Dòng đầu tiên chứa một số nguyên n là số ma-nơ-canh.
  • n dòng tiếp theo, dòng thứ i chứa hai số nguyên xi và yi là toạ độ của ma-nơ-canh thứ i.

Dữ liệu ra

In ra một số thực là số đo nhỏ nhất của góc cần tìm, tính bằng độ. Đáp án được chấp nhận nếu sai số tuyệt đối hoặc tương đối không vượt quá 10−6.

Ràng buộc

  • 1≤n≤105
  • |xi|,|yi|≤1000
  • (xi,yi)≠(0,0) với mọi i
  • Các điểm (xi,yi) đôi một phân biệt

Ví dụ

Input Output Giải thích
2
2 0
0 2
90.0000000000 Hai ma-nơ-canh nằm trên hai trục toạ độ dương, góc nhỏ nhất chứa cả hai là góc phần tư thứ nhất, bằng 90 độ.
3
2 0
0 2
-2 2
135.0000000000 Ba hướng nhìn lần lượt là 0, 90 và 135 độ. Góc từ hướng 0 đến hướng 135 chứa cả ba điểm.
4
2 0
0 2
-2 0
0 -2
270.0000000000 Bốn hướng nhìn là 0, 90, 180, 270 độ. Khoảng trống lớn nhất giữa hai hướng liên tiếp chỉ là 90 độ, nên góc cần tìm là 360−90=270 độ, tức lớn hơn 180 độ.
2
2 1
1 2
36.8698976458 Góc cần tìm là góc giữa hai tia O(2,1) và O(1,2).

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0