3913 - Cuvinte11
Cerința
Se citește un cuvânt S format din litere mici distincte ale alfabetului englez și un număr m. Afișați în ordine lexicografică toate cuvintele formate din cel puțin m litere ordonate alfabetic din S, în care nu există vocale alăturate și se termină cu consoană.
Date de intrare
Programul citește de la tastatură cuvântul S și numărul m.
Date de ieșire
Programul va afișa pe ecran cuvintele cerute, câte unul pe un rând.
Restricții și precizări
1 < m ≤lungimea luiS ≤ 10
Exemplu:
Intrare
barni 3
Ieșire
abin abinr abir abn abnr abr anr bin binr bir bnr inr
Rezolvare
<syntaxhighlight lang="python3"> def generate_words(word, m, current_word, index, vowels_count):
if len(current_word) >= m:
print(current_word)
if index == len(word):
return
for i in range(index, len(word)):
if word[i] not in 'aeiou':
generate_words(word, m, current_word + word[i], i + 1, 0)
elif vowels_count == 0:
generate_words(word, m, current_word + word[i], i + 1, 1)
word, m = input().split() m = int(m) generate_words(word, m, , 0, 0) </syntaxhighlight>