#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char arr[20];
int visit[20]={0};
int L, C;
int compare(const void* a, const void* b) {
return *(char*)a-*(char*)b;
}
void check(){
int chk=0,idx=0;
char str[16];
for(int i=0;i<C;i++){
if(visit[i]){
str[idx]=arr[i];
idx++;
if(arr[i]=='a'||arr[i]=='e'||arr[i]=='i'||arr[i]=='o'||arr[i]=='u')
chk++;
}
}
str[L]='\0';
if(chk>=1&&L-chk>=2)
printf("%s\n",str);
}
void select(int idx,int cnt){
if(cnt==L){
check();
return;
}
if(idx==C)
return;
visit[idx]=1;
select(idx+1,cnt+1);
visit[idx]=0;
select(idx+1,cnt);
}
int main(void) {
scanf("%d %d", &L, &C);
getchar();
for (int i = 0; i < C; i++) {
arr[i]=getchar();
getchar();
}
qsort(arr, C, sizeof(char), compare);
for(int i=0;i<=C-L;i++){
memset(visit,0,sizeof(visit));
visit[i]=1;
select(i+1,1);
}
return 0;
}
'프로그래밍 > 백준' 카테고리의 다른 글
[C언어/브르투포스] 2798 : 블랙잭 (0) | 2022.01.25 |
---|---|
[C언어/브루트포스(DFS)] 15649 : N과 M(1) (0) | 2022.01.19 |
[C언어/브루트포스] 2309 : 일곱 난쟁이 (0) | 2022.01.17 |
[C언어/BFS] 11724 : 연결 요소의 개수 (0) | 2022.01.13 |
[C언어/BFS] 2178 : 미로 탐색 (0) | 2022.01.12 |