반응형
#include < iostream >
#include < vector >
#include < algorithm >
using namespace std;
//a:97
//자음 최소 2개
//모음 최소 1개
//a-97,e-101,i-105,o-111,u-117
//오름차순
int main()
{
int n,r;
cin>>n>>r;
vector q;
vector in;
//문자를 입력받아 오름차순 정렬
for(int i=0;i<r;i++){
char temp;
cin>>temp;
q.push_back(temp);
if(i<n){
in.push_back(1);
}else{
in.push_back(0);
}
}
sort(q.begin(),q.end());
do{
vector a;
for(int i=0;i<in.size();i++){
if(in[i] == 1){
a.push_back(q[i]);
}
}
//모음 자음 개수 검사
int mNum=0,jNum=0;
for(int j=0;j<a.size();j++){
if(a[j] == 'a' || a[j] == 'e' || a[j] == 'i' || a[j] == 'o' || a[j] == 'u')
mNum++;
else
jNum++;
}
if(mNum >=1 && jNum >= 2){
for(int i=0;i<a.size();i++){
cout<<a[i];
}
cout<<endl;
}else{
continue;
}
a.clear();
}while(prev_permutation(in.begin(),in.end()));
return 0;
}
https://www.acmicpc.net/problem/1759
1759번: 암호 만들기
첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다.
www.acmicpc.net
반응형
'개발자 > 알고리즘' 카테고리의 다른 글
[BOJ] 14501번 퇴사 (0) | 2019.09.18 |
---|---|
[BOJ] 1182번 부분수열의 합 (0) | 2019.09.17 |
[BOJ] 14888번 연산자 끼워넣기 (0) | 2019.09.17 |
[BOJ] 6603번 로또 (0) | 2019.09.12 |
[BOJ] 10819번 차이를 최대로 (0) | 2019.08.26 |