목차

암호 만들기

ps
링크acmicpc.net/…
출처BOJ
문제 번호1759
문제명암호 만들기
레벨골드 5
분류

백트래킹

시간복잡도O(C(n,m)*m)
인풋사이즈n<=15, m<=15
사용한 언어Python
제출기록30864KB / 68ms
최고기록52ms
해결날짜2022/01/14

풀이

코드

"""Solution code for "BOJ 1759. 암호 만들기".

- Problem link: https://www.acmicpc.net/problem/1759
- Solution link: http://www.teferi.net/ps/problems/boj/1759

Tags: [Backtracking]
"""

import itertools

VOWELS = {'a', 'e', 'i', 'o', 'u'}


def main():
    L, C = [int(x) for x in input().split()]  # pylint: disable=unused-variable
    alphabets = input().split()

    for password in itertools.combinations(sorted(alphabets), L):
        vowel_count = sum(1 for ch in password if ch in VOWELS)
        if 1 <= vowel_count <= L - 2:
            print(''.join(password))


if __name__ == '__main__':
    main()