In the event of technical difficulties with Szkopuł, please contact us via email at [email protected].
If you would like to talk about tasks, solutions or technical problems, please visit our Discord servers. They are moderated by the community, but members of the support team are also active there.
Bajtazar kupił synkowi Bajtkowi zestaw klocków ponumerowanych od do i ustawił je w rzędzie w pewnej kolejności. Zadaniem Bajtka jest ustawienie klocków w kolejności numerów tych klocków, od najmniejszego do największego. Jedyne ruchy, jakie może wykonywać Bajtek, to:
W pierwszym wierszu standardowego wejścia znajduje się jedna liczba całkowita , . W drugim wierszu znajduje się liczb całkowitych z zakresu od do pooddzielanych pojedynczymi odstępami. Liczby te nie powtarzają się i reprezentują początkowe ustawienie klocków.
Jeśli nie istnieje sekwencja ruchów prowadząca do ustawienia klocków w porządku rosnącym numerów, Twój program powinien wypisać na standardowe wyjście "NIE DA SIE" (bez cudzysłowów).
W przeciwnym przypadku, w pierwszym wierszu wyjścia powinna znaleźć się jedna liczba całkowita (), oznaczająca liczbę wykonywanych operacji. Przez operację rozumiemy -krotne wykonanie jednego z ruchów a lub b.
Jeżeli , to w drugim wierszu powinien znaleźć się ciąg liczb całkowitych z dodanymi pojedynczymi znakami a lub b. Zapis postaci a (dla ) oznacza -krotne wykonanie ruchu a. Zapis postaci b (dla ) oznacza -krotne wykonanie ruchu b.
Dodatkowo, znaki stowarzyszone z liczbami znajdującymi się w drugim wierszu muszą być ułożone na przemian.
Jeśli istnieje więcej niż jedno rozwiązanie, Twój program może wypisać dowolne z nich.
Dla danych wejściowych:
4 1 3 2 4
poprawną odpowiedzią jest:
4 3a 2b 2a 2b
natomiast dla danych:
7 1 3 2 4 5 6 7
poprawnym wynikiem jest:
NIE DA SIE
a dla danych:
3 1 2 3
poprawnym wynikiem jest:
0
Autorzy zadania: Krzysztof Diks, Wojciech Rytter.