W razie problemów technicznych ze Szkopułem, prosimy o kontakt mailowy pod adresem [email protected].
Jeśli chciałbyś porozmawiać o zadaniach, rozwiązaniach lub problemach technicznych, zapraszamy na serwery Discord. Są one moderowane przez społeczność, ale członkowie zespołu technicznego też są tam aktywni.
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.