3913 - Cuvinte11

From Bitnami MediaWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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 lui S ≤ 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>