trang chủ / bài tập / polyembed

Đặt gọn đa giác đều (bản chẵn)

Đề bài

Mô tả

Cho một đa giác đều 2n đỉnh (lồi, các cạnh bằng nhau và các góc bằng nhau) có độ dài mỗi cạnh bằng 1. Ta gọi đa giác này là đa giác 2n-đỉnh.

Nhiệm vụ của bạn là tìm hình vuông có kích thước nhỏ nhất sao cho có thể "đặt gọn" đa giác 2n-đỉnh vào bên trong nó. Ở đây "đặt gọn" nghĩa là mọi điểm nằm trong hoặc trên biên của đa giác 2n-đỉnh đều phải nằm trong hoặc trên biên của hình vuông.

Bạn được phép xoay đa giác và/hoặc hình vuông theo góc tuỳ ý.

Trong phiên bản này, n luôn là số chẵn.

Dữ liệu vào

  • Dòng đầu tiên chứa một số nguyên T — số lượng test.
  • T dòng tiếp theo, mỗi dòng chứa một số nguyên chẵn n — nửa số đỉnh của đa giác.

Dữ liệu ra

Với mỗi test, in ra một số thực — độ dài cạnh nhỏ nhất của hình vuông có thể chứa đa giác 2n-đỉnh.

Đáp án của bạn được coi là đúng nếu sai số tuyệt đối hoặc tương đối so với đáp án chuẩn không vượt quá 106.

Ràng buộc

  • 1T200
  • 2n200n chẵn.

Ví dụ

Input Output Giải thích
3
2
4
200
1.000000000
2.414213562
127.321336469
n=2: đa giác có 4 đỉnh — chính là hình vuông cạnh 1, nên đáp án là 1.
n=4: đa giác đều 8 đỉnh, hình vuông nhỏ nhất bao ngoài có cạnh 1+2.
n=200: đa giác 400 đỉnh gần như là hình tròn.
1
6
3.732050808 Đa giác đều 12 đỉnh, cạnh 1, được đặt gọn trong hình vuông cạnh 2+3.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0