Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
AL_04_06 - Smok Adrian |
Znajdujemy się w Bajtogrodzie, jest to spokojne miejsce, w którym żyją sami dobrzy ludzie. Niedaleko jest jaskinia Smoka Adriana, jednak nie ma z nim większych problemów, bo 128 lat temu słynny matematyk rozwiązał jego zagadkę, a w zamian smok spokojnie śpi. Jednak kiedy jego zagadka nie była rozwiązana, był bardzo groźny, bo wszystko jadł: bitociastka, bitobatony, domy, plony, szkoły, a nawet niesmaczną kredę, ludzie musieli więc wtedy uciekać. Jednak ten spokój może zostać znowu zachwiany i mogą nastąpić ciężkie czasy. Tajny agent Krystian po przeprowadzeniu śletdztwa wie, że Smok Adrian jutro się obudzi i zada nową zagadkę, udało mu się jednak poznać treść zagadki. Jednak jest spory kłopot, bo jedyna osoba, która może bez problemu rozwiązać tę zagadkę (bardzo zdolna Marysia), jest na międzyplanetarnym zjeździe matematyków, więc ostatnią deską ratunku jest Magda, jednak czy w jej rece można powierzyć los całego spokojnego świata? No właśnie - lepiej nie, więc Ty musisz jej pomóc i napisać program, który szybko poda schemat rozwiązania zagadki, a Magda postara się bezbłędnie wykonać schemat.
Treść tajnej wiadomości od agenta Krystiana:
" Zagadka:
Smok daje n po pojemników, każdy o pojemności Vi , jest również żródło wody, z którego można wielokrotnie napełnić dowolny pojemnik do pełna. Możemy również przelawać wodę między pojemnikami, naszym celam jest tak przelewać wodę, aby w którymkolwiek pojemniku zostało równo W wody."
Pojemniki są numerowane od 0 do n-1
Polecenia, które może wypisac Twój program, i które zrozumie Magda:
N x - napełnij do pełna wodą pojemnik x
O x - opróżnij całą zawartość pojemnika x
P xa xb - przelej wodę z pojemnika xa do pojemnika xb (przelewanie kończy się dwoma rezultatami: pojemnik xa pozostanie pusty, cała woda z niego zostanie przelana do drugiego lub, jeśli się nie zmieści, to zostanie przelane tyle wody ile się zmieści w pojemniku xb, a reszta zostanie).
W x - informuje Magdę, że w pojemniku x jest szukana ilość wody, po tym poleceniu program powinien zakończyć działanie.
Input
W pierwszej linii dwie liczby n, W (liczba pojemników, szukana objętość wody)
W nastepnej lini n liczb Vi (pojemności kolejnych pojemników)
Dane są bardzo małe n<20 V,W<100 000
Output
Należy wypisać ciąg poleceń, które pozwolą nam osiągnąć cel.
Przykładowe polecenia:
* N 0 - napełnij do pełna pojemnik 0
* O 2 - opróżnij pojemnik 2
* P 1 2 - przelej wodę z pojemnika 1 do pojemnika 2
* W 1 - daje informację, że szukana objętosć wody jest w pojemniku 1 (powinno to być ostatnie polecenie, które wypisuje program)
Example
Input: 3 7
3 4 10
Output: N 2
P 2 1
P 1 0
P 1 2
W 2
*Jest to jedna z wielu możliwości osiągnięcia celu, do sprawdzania zadania jest napisany sędzia, aby każda dobra kombinacja przeszła.
PUNKTACJA:
Celem jest wypisanie jak najmniej poleceń, wynik to pierwiastek z liczby poleceń, im mniejszy wynik tym lepjej.
Dodane przez: | Marek Mystkowski |
Data dodania: | 2013-01-21 |
Limit czasu wykonania programu: | 0.100s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM64 GOSU |
Pochodzenie: | Algoliga 4 |
ukryj komentarze
2013-02-09 20:42:53 Marek Mystkowski
jeśli sedzia zwraca "błąd systemu" to znaczy że program nic nie wypisał a skoczył działanie, (traktujcie to jako WA), nie nic nie zepsułeś ;) , to tylko ja zapomniałem wy ifować ten przypadek :) Ostatnio edytowany: 2013-02-09 20:51:11 |
|
2013-02-09 20:41:54 Damian Straszak
ups, coś chyba zepsułem, sorki ;) |
|
2013-02-09 18:32:49 Bartek Kostka
od razu lepiej :) |
|
2013-02-09 18:28:20 Marek Mystkowski
już można |
|
2013-02-09 17:33:13 Maciej Ho³ubowicz
No ja też nie mogę wysłać w żadnym języku... |
|
2013-02-09 17:02:08 Bartek Kostka
Czy to ja mam jakiegoś buga, czy tego zadania nie można rozwiązać w żadnym języku? Ostatnio edytowany: 2013-02-09 17:02:51 |
|
2013-02-09 13:50:21 Marek Mystkowski
Zagadkę zawsze da się rozwiązać, takie są testy :) |
|
2013-02-09 13:37:59 Przemek Komosa
A co jeśli się nie da rozwiązać zagadki? (np tylko jedno wiadro) |