Uderzenie strzałą w kolano wydaje się być teraz zranieniem z wyboru . Jako taki, proponuję następujące wyzwanie golfowe.
Masz poszukiwacza przygód, który wygląda tak:
O
/|\
/ | \
|
|
/ \
/ \
Biorąc pod uwagę plik tekstowy zawierający jeden łuk (narysowany jako }
symbol), zestaw ścian (narysowany jako #
symbole) i jednego poszukiwacza przygód, napisz najmniejszy kod, który oblicza kąt i prędkość początkową, z jaką powinieneś wystrzelić strzałę, aby trafić go w kolanie.
Załóż, że:
- Każdy znak w pliku ma 0,5 x 0,5 metra.
- Strzała jest wystrzeliwana ze środka
}
, tj. Z przesunięcia o0.25m, 0.25m
- Grawitacja jest
10ms^-2
- Strzała waży
0.1kg
- Strzałka jest punktem, tzn. Kolizje występują tylko wtedy, gdy współrzędna strzałki wchodzi w jeden z bloków.
- Maksymalna prędkość początkowa wynosi
50m/s
- Kąt może wynosić od 0 (prosto w górę) do 180 (prosto w dół)
- Uderzenie w dowolną część nogi poszukiwacza przygód jest uważane za uderzenie w kolano.
- Ściana (
#
postać) zajmuje jeden cały blok 0,5 mx 0,5 m. - Strzałka może przemieszczać się nad „górą” pliku, ale nic nie stoi na przeszkodzie, aby wejście zaczynało się od górnego pułapu
#
znaków. - Nie możesz przebić ścian strzałami.
- Trafienie w inną część poszukiwacza przygód jest niedozwolone!
- Powinieneś wyświetlić błąd, jeśli uderzenie go w kolano jest niemożliwe.
Przykładowe dane wejściowe:
#
} O
# /|\
/ | \
# |
# |
/ \
/ \
Jeśli chcesz, możesz zadawać pytania :)
#############
...