https://www.acmicpc.net/problem/15654
#include <iostream>
#include <algorithm>
using namespace std;
bool visit[8];
int result[8];
int arr[8];
void dfs(int n, int m, int cnt)
{
if (cnt == m)
{
for (int i = 0; i < m; i++)
{
cout << result[i] << ' ';
}
cout << '\n';
return;
}
for (int i = 0; i < n; i++)
{
if (visit[i] == false)
{
result[cnt] = arr[i];
visit[i] = true;
dfs(n, m, cnt + 1);
visit[i] = false;
}
}
}
int main()
{
int n, m;
cin >> n >> m;
for (int i = 0; i < n; i++)
{
cin >> arr[i];
}
sort(arr, arr + n);
dfs(n, m, 0);
}
'백준 c++ > 코테준비-기초 c++' 카테고리의 다른 글
백준 15652 c++ N과 M (4) (0) | 2024.07.09 |
---|---|
백준 15651 c++ N과 M(3) (0) | 2024.07.09 |
백준 15650 c++ N과 M (2) (0) | 2024.07.09 |
백준 15649 c++ N과 M (1) (0) | 2024.07.09 |
백준 9095 1, 2, 3 더하기 (0) | 2024.07.09 |