Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

CANNON - Armata

W pozycji (x0,y0)=(0,0) znajduje się armata. Określ prędkość początkową oraz wyznacz tor pocisku wystrzelonego z armaty w chwili t0=0, w taki sposób, by po zadanym czasie T pocisk uderzył w cel o podanych współrzędnych (xT,yT).

Równanie ruchu pocisku dla chwili czasu t > t0 dane jest wzorem:

x''(t) = -c x'(t)R(t)
y''(t) = -c y'(t)R(t) - g,

gdzie g, c - parametry podane na wejściu (oznaczające odpowiednio przyspieszenie grawitacyjne i współczynnik aerodynamicznego oporu, tym razem opór proporcjonalny do kwadratu prędkości), zaś R(t)= sqrt([x'(t)]2+ [y'(t)]2).

Wejście

W pierwszej linii podana jest liczba testów (około 100). Każdy z testów składa się z pięciu liczb g, c, T, xT, yT oddzielonych spacjami. Wszystkie jednostki są zgodne. Można założyć, że: T > 0, xT2+ yT2 > 0, c >= 0, g >= 0; wartości bezwzględne liczb podanych na wejściu nie przekraczają 100.

Wyjście

Dla każdego zestawu testowego należy wypisać w pierwszej linii wartości x'(0), y'(0), oddzielone spacją. W kolejnych floor(10T) liniach należy wypisać wartości x(t), y(t) dla kolejnych chwil czasu t=0.1,0.2,0.3,...,floor(10T)/10. Przez floor(x) rozumiemy tu największą liczbę całkowitą niewiększą od x (proszę zwrócić uwagę na przypadek gdy T ma dokładnie jedną cyfrę po przecinku).

Do obliczenia wyniku należy użyć nieliniowej metody strzałów, z dobieraniem prędkości początkowej metodą stycznych. Równania różniczkowe można rozwiązywać np. metodą R-K ze zmiennym krokiem.

Wartości wypisywane na wyjściu nie będą przekraczały 103. Dopuszczalny błąd bezwzględny wyniku wynosi 10-3.

Przykład

Wejście:
2
8.2 0.0 1.0 1.5 0.4
10.0 0.3 1.0 1.5 0.4
Wyjście:

  1.5000  4.5000
  0.15000  0.40900
  0.30000  0.73600
  0.45000  0.98100
  0.60000  1.14400
  0.75000  1.22500
  0.90000  1.22400
  1.05000  1.14100
  1.20000  0.97600
  1.35000  0.72900
  1.50000  0.40000

  2.4677  7.1468
  0.22331  0.59978
  0.41288  1.01586
  0.58160  1.29114
  0.73715  1.44840
  0.88424  1.49954
  1.02488  1.45061
  1.15848  1.30688
  1.28321  1.07636
  1.39739  0.76996
  1.50000  0.40000


Dodane przez:Adam Nadolski
Data dodania:2007-01-14
Limit czasu wykonania programu:0.100s
Limit długości kodu źródłowego50000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:All except: GOSU
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.