|
|
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.
Zadanie w systemie SPOJ (trudne)
836. Wieżyca
Kod zadania: HILLS
|
W ramach integracji członkowie STI wybrali się na wycieczkę w rejon Wieżycy. Wędrowali tu i tam przez cały dzień. W
pewnym momencie stwierdzili z przerażeniem, że zrobiło się bardzo, bardzo późno i bardzo, bardzo ciemno, a przy tym bardzo,
bardzo daleko od jakiejkolwiek cywilizacji. Mówiąc krótko - zgubili się.
Członkowie STI nie byliby jednak członkami STI, gdyby nie mieli dostępu do odpowiednich na taką okoliczność technologii.
W ciągu kilku sekund dysponowali 20 zdjęciami satelitarnymi okolicy i postanowili napisać na poczekaniu program, który
przeanalizuje zdjęcia i podpowie dalszą drogę.
Zdjęcia są dostępne pod adresem. Każde zdjęcie jest plikiem graficznym
i przedstawia prostokąt o rozmiarze 320x240. Pliki są w formacie raw, 24bpp, interleaved RGB, tj.:
- Mamy 240 wierszy po 320 pikseli w każdym. Współrzędne piksela to ( x , y ), gdzie 0 <= x <= 319, 0 <= y <= 239. Piksel (
0 , 0 ) znajduje się w lewym górnym rogu zdjęcia.
- Każdy piksel zakodowany jest na trzech bajtach pliku. Dla piksela o współrzędnych ( x , y ) będą to bajty o numerach (od
0):
- 3 * (320 * y + x) [ składowa czerwona koloru ]
- 3 * (320 * y + x) + 1 [ składowa zielona koloru ]
- 3 * (320 * y + x) + 2 [ składowa niebieska koloru ]
Kolor piksela opisuje wysokość terenu w odpowiednim punkcie, podobnie jak na tradycyjnych mapach hipsometrycznych.
Składowa niebieska jest zawsze zerowa. Wysokość h, w postaci liczby całkowitej z zakresu [ 0 , 255 ], wyznaczamy ze
składowej czerwonej r i zielonej g następująco:
- Jeśli r = 255, to h = 127 + (255 - g),
- w przeciwnym wypadku h = r - 127.
Dla każdego zdjęcia rozstrzygnij, czy można przejść z dowolnego punktu na lewej krawędzi (x = 0) do dowolnego punktu na
prawej krawędzi (x = 319), poruszając się o jeden punkt w górę, dół, prawo lub lewo. Problem byłby trywialny gdyby nie fakt,
że studenci są już bardzo, bardzo zmęczeni. Wobec tego nie wolno poruszać się "pod górkę"! Jeśli przechodzimy z punktu p1 na
sąsiedni punkt p2, to wysokość p2 musi być mniejsza lub równa wysokości p1!
Twój program (część zgłaszana na SPOJa) powinien wygenerować dokładnie 20 wierszy tekstu. Kolejne wiersze odpowiadają
kolejnym zdjęciom hills-in0.raw, hills-in1.raw, hills-in2.raw, ..., hills-in19.raw. Każdy wiersz to słowo "TAK" lub "NIE",
odpowiednio jeśli przejście jest możliwe i w przeciwnym wypadku. Zgłaszany program nie powinien niczego wczytywać!
Spodziewane wyjście (niepełne; [...] - komentarz, nie powinien być generowany)
TAK [ dla hills-in0.raw ]
NIE [ dla hills-in1.raw ]
...
| Dodane przez: | [rusty] jb |
| Data dodania: | 2006-05-01 |
| Limit czasu wykonania programu: | 1s
|
| Limit długości kodu źródłowego | 50000B |
| Języki programowania: | All except: ERL JS PERL 6 |
|
|
|
|