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

Robo sút bóng

Đề bài

Mô tả

Trên một sân bóng trong nhà hình chữ nhật, xét hệ trục tọa độ với góc dưới bên trái của sân là gốc (0,0). Khung thành của đội đối phương nằm trên trục OY: hai cột dọc là hai điểm (0,y1)(0,y2) với y1<y2. Phía trên sân là một bức tường, chính là đường thẳng nằm ngang y=yw.

Quả bóng là một hình tròn bán kính r, tâm hiện ở vị trí (xb,yb). Robot muốn sút bóng vào một điểm trên bức tường y=yw sao cho:

  • bóng bay theo đường thẳng, chạm bức tường này đúng một lần rồi bật lại theo định luật phản xạ (góc tới bằng góc phản xạ, va chạm đàn hồi tuyệt đối);
  • sau khi bật tường, bóng bay thẳng vào khung thành: bàn thắng được tính khi tâm bóng cắt trục OY tại một điểm nằm giữa (0,y1)(0,y2).

Bóng được coi là chạm một vật nếu khoảng cách từ tâm bóng đến vật đó không vượt quá r. Trên đường bay, bóng không được chạm cột dọc (hai điểm (0,y1)(0,y2)): nếu bóng chạm cột hoặc bật ra ngoài khung thành thì thủ môn đối phương sẽ bắt được bóng.

Hãy tìm xw: hoành độ của điểm mà bóng chạm tường, hoặc xác định rằng không tồn tại cách sút như vậy.

Dữ liệu vào

Một dòng duy nhất chứa sáu số nguyên y1,y2,yw,xb,yb,r.

Dữ liệu đảm bảo bóng nằm hoàn toàn trong sân, không cắt tường nào và không chạm bức tường được ngắm. Hai cột dọc không nằm ở góc sân.

Dữ liệu ra

Nếu không thể ghi bàn theo cách mô tả, in ra 1. Ngược lại, in ra một số thực xw: hoành độ điểm chạm tường. Nếu có nhiều đáp án, in một đáp án bất kỳ. Đáp án được chấp nhận nếu tương ứng với một cú sút hợp lệ (so sánh với sai số tuyệt đối 108).

Ràng buộc

  • 1y1,y2,yw,xb,yb,r106
  • y1<y2<yw
  • yb+r<yw
  • 2·r<y2y1

Ví dụ

Input Output Giải thích
4 10 13 10 3 1 4.3750000000 Tâm bóng bay từ (10,3) lên chạm tường tại hoành độ 4.375 (tâm ở (4.375,12)), bật xuống và cắt trục OY tại (0,5), vừa đủ cách cột dưới một khoảng r=1. Các đáp án hợp lệ khác cũng được chấp nhận.
1 4 6 2 2 1 -1 Mọi đường bật tường vào khung thành đều khiến bóng chạm cột dọc, nên không thể ghi bàn.
3 10 15 17 9 2 11.3333333333 Bóng chạm tường tại hoành độ 11.333 rồi bật vào khung thành. Các đáp án hợp lệ khác cũng được chấp nhận.

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