문제 : https://www.acmicpc.net/problem/1759
코드 :
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
vector<char> num;
char mon[15] = {};
void solution(int s, int l, int c)
{
//탈출조건
if (num.size() == l)
{
//모음 최소 1개, 자음 최소 2개 체크
int m_c = 0;
int j_c = 0;
for (auto iter = num.begin(); iter < num.end(); iter++)
{
if (*iter == 'a' || *iter == 'e' || *iter == 'i' ||
*iter == 'o' || *iter == 'u')
m_c++;
else
j_c++;
}
if (m_c >= 1 && j_c >= 2)
{
for (auto iter = num.begin(); iter < num.end(); iter++)
{
cout << *iter;
}
cout << "\n";
}
return;
}
for (int i = s; i < c; i++)
{
num.push_back(mon[i]);
solution(i + 1, l, c);
num.pop_back();
}
}
int main()
{
int l, c;
cin >> l >> c;
for (int i = 0; i < c; i++)
{
cin >> mon[i];
}
sort(mon, &mon[c]);
solution(0, l, c);
return 0;
}
'algorithm > ACMICPC' 카테고리의 다른 글
퇴사 - 14501 (0) | 2019.12.03 |
---|---|
부분수열의 합 - 1182 (0) | 2019.12.03 |
연산자 끼워넣기 (2) - 15658 (0) | 2019.12.03 |
연산자 끼워넣기 - 14888 (0) | 2019.11.25 |
로또 - 6603 (0) | 2019.11.25 |
댓글