QOJ.ac

QOJ

Time Limit: 2.0 s Memory Limit: 1024 MB Total points: 100

#14509. Dwuwymiarowy pinball

Statistics

I. Dwuwymiarowy pinball

Grasz w grę o nazwie dwuwymiarowy pinball.

  • Pole gry jest obszarem kwadratowym, którego cztery wierzchołki mają współrzędne $(x_1, y_1)$, $(x_2, y_2)$, $(x_3, y_3)$, $(x_4, y_4)$ podane w kolejności zgodnej z ruchem wskazówek zegara.
  • Na polu znajduje się początkowo nieruchoma kulka. Jej pozycja początkowa to $(x_0, y_0)$ (gwarantuje się, że znajduje się ona ściśle wewnątrz kwadratu), a prędkość początkowa wynosi 0.
  • Kulka jest traktowana jako punkt materialny i podlega prawom fizyki, działając pod wpływem jedynie skierowanego w dół przyspieszenia ziemskiego $g = 10$.
  • Gdy kulka uderzy w jedną z krawędzi kwadratu, następuje zderzenie sprężyste: po zderzeniu składowa prędkości prostopadła do krawędzi zmienia zwrot na przeciwny, składowa styczna pozostaje bez zmian, a wartość prędkości pozostaje stała.
  • W szczególności, gdy kulka uderzy w wierzchołek (narożnik) kwadratu, obie składowe prędkości zmieniają zwrot na przeciwny (czyli prędkość zmienia się na $(-v_x, -v_y)$).
  • Każde zderzenie jest uważane za natychmiastowe (nie ma sytuacji, w której kulka pozostaje na krawędzi przez dłuższy czas). W trakcie całego ruchu kulki nie dochodzi do strat energii.

Mając dane współrzędne czterech wierzchołków kwadratu $(x_1, y_1)$, $(x_2, y_2)$, $(x_3, y_3)$, $(x_4, y_4)$, pozycję początkową kulki $(x_0, y_0)$ oraz czas ruchu $t$, chcesz poznać pozycję kulki $(x, y)$ po czasie $t$.

Wejście

Zadanie zawiera wiele zestawów danych. Pierwsza linia zawiera liczbę całkowitą $T$ ($1 \le T \le 10^4$), oznaczającą liczbę zestawów danych.

Dla każdego zestawu danych: Najpierw podane są 4 linie, z których każda zawiera dwie liczby całkowite $x_i, y_i$ ($|x_i, y_i| \le 10^4$), oznaczające $i$-ty wierzchołek kwadratu. Następnie podana jest jedna linia z trzema liczbami całkowitymi $x_0, y_0, t$ ($0 \le |x_0|, |y_0| \le 10^4$, $0 < t \le 10^6$), oznaczającymi pozycję początkową oraz czas.

Gwarantuje się, że cztery wierzchołki kwadratu są podane w kolejności zgodnej z ruchem wskazówek zegara. Gwarantuje się, że pozycja początkowa kulki znajduje się ściśle wewnątrz kwadratu.

Wyjście

Dla każdego zestawu danych: Wypisz w jednej linii dwie liczby oznaczające pozycję kulki $x, y$ po czasie $t$. Musisz zapewnić, że błąd względny lub bezwzględny Twojej odpowiedzi względem odpowiedzi wzorcowej nie przekracza $10^{-5}$. Oznacza to, że jeśli Twoja odpowiedź to $a$, a odpowiedź wzorcowa to $b$, to odpowiedź jest poprawna, jeśli $\frac{|a-b|}{\max(1,|b|)} \le 10^{-5}$.

Przykład

Wejście 1

2
0 0
0 20
20 20
20 0
5 5 5
-10 0
0 10
10 0
0 -10
0 0 12

Wyjście 1

5.0000000000 0.0000000000
0.0000000000 -2.3549801218

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.