Chiếc đe rơi

Đề bài

Mô tả

Trong nhiều bộ phim hoạt hình, thỉnh thoảng lại có một chiếc đe (anvil) rơi từ trên trời xuống đầu nhân vật. Việc thả đe sao cho trúng đầu nạn nhân không hề đơn giản. Ta mô hình hoá bài toán như sau.

Gọi p là chiều cao của nạn nhân, nhận giá trị thực bất kỳ trong đoạn [0;a], và gọi q là hướng gió, nhận giá trị thực bất kỳ trong đoạn [−b;b]. Chiếc đe sẽ rơi trúng đầu nhân vật khi và chỉ khi phương trình sau có ít nhất một nghiệm thực:

x2+p·x+q=0

Biết rằng p và q được chọn ngẫu nhiên, đồng khả năng và độc lập trong các đoạn tương ứng của chúng. Hãy tính xác suất để cú thả đe thành công (phương trình có nghiệm thực).

Dữ liệu vào

  • Dòng đầu chứa số nguyên t, số lượng bộ dữ liệu.
  • t dòng tiếp theo, mỗi dòng chứa hai số nguyên a và b.

Dữ liệu ra

In ra t dòng, mỗi dòng là xác suất thả đe thành công của bộ dữ liệu tương ứng. Sai số tuyệt đối hoặc tương đối của đáp án không được vượt quá 10−6.

Ràng buộc

  • 1≤t≤104
  • 0≤a,b≤106

Ví dụ

Input Output Giải thích
2
4 2
1 2
0.6250000000
0.5312500000
Phương trình có nghiệm thực khi p−4q≥0. Với a=4,b=2: xác suất là 0.625.
5
0 1
0 5
0 1000000
0 2
0 999999
0.5000000000
0.5000000000
0.5000000000
0.5000000000
0.5000000000
Khi a=0 thì p=0, điều kiện −4q≥0 đúng với đúng nửa số giá trị của q (khi q≤0).

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