반응형
<코드>
#include<iostream>
#include<algorithm>
using namespace std;
bool check[9];
int seq[9], ans[9];
int N, M;
void dfs(int x, int cnt)
{
if (cnt == M)
{
for (int i = 0; i < M; i++)
{
cout << ans[i] << " ";
}
cout << '\n';
return;
}
int tmp = -1;
for (int i = x; i < N; i++)
{
if (!check[i] && tmp != seq[i]) // tmp는 직전에 골랐던 수
{
check[i] = true;
ans[cnt] = seq[i];
tmp = seq[i];
dfs(i, cnt + 1);
check[i] = false;
}
}
}
int main()
{
cin >> N >> M;
for (int i = 0; i < N; i++)
cin >> seq[i];
sort(seq, seq + N); // 오름차순 정렬
dfs(0, 0);
}
반응형
'🧩PS > 🥈Nomal' 카테고리의 다른 글
[C/C++] 백준 15666번 - N과 M (12) (0) | 2021.01.15 |
---|---|
[C/C++] 백준 15665번 - N과 M (11) (0) | 2021.01.15 |
[C/C++] 백준 17610번 - 양팔저울 (0) | 2021.01.15 |
[C/C++] 백준 1504번 - 특정한 최단 경로 (다익스트라) (0) | 2021.01.14 |
[C/C++] 백준 1644번 - 소수의 연속합 (에라토스테네스의 체, 투포인터) (0) | 2021.01.10 |