Đường đi của ánh sáng


Submit solution

Points: 4 (partial)
Time limit: 1.0s
JAVA11 2.0s
Pypy 3 2.0s
Memory limit: 67M
JAVA11 977M
Pypy 3 977M

Author:
Problem types
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Trong hệ tọa độ \(Oxy\), một gương cầu lồi được đặt ở tâm \(O\). Cho trước bán kính của gương, tọa độ nguồn sáng \(S\) , tọa độ điểm đến \(A\), bạn hãy xác định đường đi của ánh sáng (nếu có) từ \(S\) phản xạ qua gương tới điểm \(A\) biết rằng ánh sáng luôn đi theo con đường ngắn nhất.

Đầu vào

Dòng đầu chứa số tự nhiên \(t\) \((1 \le t \le 10000)\), số lượng testcase.

Mỗi testcase được mô tả như sau:

  • Dòng đầu chứa số tự nhiên \(r\) - \((1 \le r \le 1000)\), bán kính của gương cầu lồi.
  • Dòng thứ hai chứa hai số \(x_1, y_1\) \((-1000 \le x_1, y_1 \le 1000, x_1^2 + y_1^2 > r^2)\) là tọa độ (hoành độ, tung độ) của nguồn sáng.
  • Dòng thứ ba chứa hai số \(x_2, y_2\) \((-1000 \le x_2, y_2 \le 1000, x_2^2 + y_2^2 > r^2)\) là tọa độ (hoành độ, tung độ) của điểm đến.

Subtask

\(20\%\) số test có \(t = 3\).

Đầu ra

Một dòng duy nhất chứa hai số thực là tọa độ điểm giao của đường đi ánh sáng với gương, kết quả in ra ba chữ số phần thập phân.

Ghi chú:

  • Mỗi testcase đều đảm bảo có đúng một đường đi thỏa mãn.
  • Ánh sáng không thể đi xuyên qua gương.

Ví dụ

Đầu vào:

2
1
-4 3
2 2
1
-1 4
4 -1

Đầu ra:

0.000 1.000
0.707 0.707
QDUY

Comments

There are no comments at the moment.