
예제 입력 1
4 6
a t c i s w
예제 출력 1
acis
acit
aciw
acst
acsw
actw
aist
aisw
aitw
astw
cist
cisw
citw
istw
<char> nums_line;#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int output_line, input_line;
vector<char> nums_line;
void dfs(vector<char> nums_line, int a, string str, int jaum, int moum)
{
str.push_back(nums_line[a]);
if(nums_line[a] == 'a' || nums_line[a] == 'e' || nums_line[a] == 'i'|| nums_line[a] == 'o'|| nums_line[a] == 'u')
{
++moum;
}
else ++jaum;
if(str.size()==output_line)
{
if(moum>=1 && jaum>=2)
{
cout<<str<<'\n';
}
}
for(int i = a+1;i < input_line;i++)
{
dfs(nums_line, i, str, jaum, moum);
}
}
int main()
{
ios_base::sync_with_stdio(0);
cin>>output_line>>input_line;
nums_line.resize(input_line);
for(int i = 0 ; i < input_line;i++)
{
cin>>nums_line[i];
}
sort(nums_line.begin(),nums_line.end());
for(int i = 0; i < input_line; i++)
dfs(nums_line,i,"",0,0);
}