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 pq đượ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 ab.

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á 106.

Ràng buộc

  • 1t104
  • 0a,b106

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 p4q0. 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 4q0 đúng với đúng nửa số giá trị của q (khi q0).

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