조건:
1. 암호의 알파벳은 오름차순이다.
2. 모음 1개이상, 자음 2개이상이다.
3. 길이는 L이다.
가능한 종류는 백트래킹으로 전부 찾아낸다.
# 암호만들기
mo_list=['a','e','i','o','u']
L,C=map(int,input().split())
# L 은 암호길이
# C 는 사용 문자 종류
alpha=list(input().split())
alpha.sort()
# 모음 갯수 , 자음 갯수
def make_pwd(mo,ja,pwd,pwd_len,last_idx):
if mo>=1 and ja>=2 and len(pwd)==pwd_len:
# 모음 개수 1 이상, 자음 개수 2이상, 암호문 길이가 L일 때
print(pwd)
return
for c in range(last_idx+1,len(alpha)):
if alpha[c] in mo_list:
make_pwd(mo+1,ja,pwd+alpha[c],pwd_len,c)
if alpha[c] not in mo_list:
make_pwd(mo,ja+1,pwd+alpha[c],pwd_len,c)
# 초기
for i in range(len(alpha)):
if alpha[i] in mo_list:
make_pwd(1,0,alpha[i],L,i)
else:
make_pwd(0,1,alpha[i],L,i)