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()