Trójramienny dźwig
Limit pamięci: 32 MB
Trójramienny dźwig ustawia kontenery na wagonach kolejowych.
Wagony są ponumerowane kolejno 1, 2, ....
Na każdym wagonie można postawić co najwyżej jeden kontener.
W jednym ruchu dźwig pobiera ze składowiska trzy kontenery i
ustawia je na wagonach o numerach , oraz , albo
na wagonach o numerach , oraz (dla pewnych stałych ).
Dźwig trzeba zaprogramować tak, żeby załadował kontenerami
pierwsze wagonów pociągu (pociąg ma wagonów).
Program składa się z ciągu instrukcji.
Każda z instrukcji opisuje jeden ruch dźwigu.
Instrukcja programu ma postać trójki , gdzie
, i określa numery wagonów, na które
dźwig ma ustawić kontenery.
Jeżeli po wykonaniu programu na każdym spośród pierwszych
wagonów pociągu znajduje się dokładnie jeden kontener, to mówimy,
że program jest poprawny.
Zadanie
Napisz program, który:
- ze standardowego wejścia wczyta charakterystykę dźwigu
(liczby i ) oraz liczbę wagonów do załadowania (),
- wygeneruje poprawny program dla dźwigu,
- wypisze go na standardowe wyjście.
Wejście
W pierwszym i jedynym wierszu standardowego wejścia znajdują
się dokładnie trzy dodatnie liczby całkowite pooddzielane pojedynczymi
odstępami. Są to odpowiednio: liczby i określające parametry
dźwigu oraz liczba , będąca liczbą początkowych wagonów pociągu
do załadowania. Liczby te spełniają nierówności
, .
Wyjście
W pierwszym wierszu standardowego wyjścia powinna znajdować
się dokładnie jedna liczba całkowita będąca liczbą instrukcji
w wygenerowanym programie.
W każdym z kolejnych wierszy powinny znajdować się dokładnie
trzy liczby naturalne , , pooddzielane pojedynczymi
odstępami,
, , , .
Są to numery wagonów, na które dźwig ma położyć kontenery
w kolejnym ruchu.
Przykład
Dla danych wejściowych:
2 3 10
poprawną odpowiedzią jest:
4
1 3 6
2 4 7
5 8 10
9 11 14
Autor zadania: Wojciech Rytter.