Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
HILLS2 - Wieżyca II |
W czasie pamiętnej wyprawy w okolice Wieżycy, około południa (sporo przed feralnym zagubieniem się), doszło do przykrego incydentu. Członkowie STI, podziwiając malowniczy widok ze szczytu, stwierdzili z przerażeniem, że wyczerpały im się wszystkie zapasy. Na szczęście przewidujący prezes przygotował dzień wcześniej algorytmy opisujące drogi (niekoniecznie optymalne) ze szczytu do kilku pobliskich sklepów. Nie chcąc nadkładać drogi, studenci zakasali rękawy i niezwłocznie napisali program wyznaczający odległości sklepów od szczytu w linii prostej, mając w planach udanie się do najbliższego z nich.
Każdy z algorytmów przygotowanych przez prezesa jest ciągiem elementarnych poleceń trzech typów:
- PREPARE - przygotuj się, tj. stań na szczycie, twarzą na północ.
- TURN x - wykonaj zwrot o x stopni w prawo. Wartości x są liczbami całkowitymi z zakresu [ 0 , 359 ].
- MOVE y - idź y metrów naprzód. Wartości y są liczbami całkowitymi z zakresu [ 1 , 1000 ].
Dla każdego algorytmu wyznacz odległość sklepu od szczytu (w metrach). Na tym etapie studenci mieli jeszcze dużo siły, więc zakładamy, że okolica jest płaska. Każdy algorytm zawiera przynajmniej jedno polecenie. Pierwszym poleceniem w każdym algorytmie jest PREPARE.
Input
T [ liczba algorytmów do przetworzenia, T <= 10 ]
k1 [ liczba poleceń w pierwszym algorytmie, 1 <= k1 <= 1 000 000 ]
[ polecenie 1 ]
[ polecenie 2 ]
...
[ polecenie k1 ]
[ opis kolejnych algorytmów ]
Output
d1 [ odległość pierwszego sklepu od szczytu, w metrach, z zaokrągleniem do pełnego centymetra ]
d2
...
dT
Przykład
Input: 3 1 PREPARE 4 PREPARE MOVE 200 PREPARE MOVE 300 4 PREPARE MOVE 100 TURN 270 MOVE 100 Output: 0.00 300.00 141.42
Dodane przez: | Kuba Białogrodzki |
Data dodania: | 2006-05-01 |
Limit czasu wykonania programu: | 2.425s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ERL GOSU JS-RHINO NODEJS PERL6 VB.NET |