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:
,
-elementowy ciąg bez zająknięć o minimalnej
liczbie różnych liter,
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.
W razie problemów technicznych ze Szkopułem, prosimy o kontakt mailowy pod adresem szkopul@fri.edu.pl.
Jeśli chciałbyś porozmawiać o zadaniach, rozwiązaniach lub problemach technicznych, odwiedź nasze serwery na Discordzie. Są one moderowane przez społeczność, ale członkowie zespołu wsparcia również aktywnie się tam udzielają.