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.
Rozważamy ciągi liter. Powiemy, że ciąg zawiera zająknięcie, jeśli napotykamy w nim dwa, następujące bezpośrednio po sobie, wystąpienia takiego samego podciągu. Tzn. jeśli dla pewnych i () zachodzi: .
Interesują nas -elementowe ciągi bez zająknięć o minimalnej liczbie liter.
Dla wystarczą dwie litery, powiedzmy i . Mamy dokładnie dwa 3-elementowe ciągi bez zająknięć złożone z takich liter: i . Dla potrzebne są już 3 różne litery. Na przykład jest trójliterowym ciągiem bez zająknięć. W ciągu mamy dwa zająknięcia: i .
Napisz program, który:
W pierwszym wierszu standardowego wejścia zapisana jest jedna dodatnia liczba całkowita , .
Twój program powinien pisać na standardowe wyjście. W pierwszym wierszu powinna zostać wypisana jedna dodatnia liczba całkowita , równa minimalnej liczbie różnych liter, które muszą wystąpić w -elementowym ciągu nie zawierającym zająknięć.
W drugim wierszu należy wypisać obliczony ciąg bez zająknięć, jako słowo złożone z małych liter alfabetu angielskiego, od litery do -tej litery alfabetu. Jeżeli istnieje wiele takich ciągów, Twój program powinien wypisać jeden z nich.
Możesz przyjąć, że 26 liter wystarczy.
Dla danych wejściowych:
5
poprawną odpowiedzią jest:
3 abcab
Autor zadania: Krzysztof Sikora.