https://www.acmicpc.net/problem/15654
/*boj s3 15654 N과 M (5)*/
#include <algorithm>
#include <iostream>
#define MAXN 10
using namespace std;
int N, M;
int arr[MAXN];
int answer[MAXN];
bool isused[MAXN];
void func(int k) { // [k]에 넣을 차례,
if (k == M) {
for (int i = 0; i < M; i++) {
cout << answer[i] << " ";
}
cout << "\n";
return;
}
for (int i = 0; i < N; i++) {
if (isused[i]) continue;
isused[i] = true;
answer[k] = arr[i];
func(k + 1);
isused[i] = false;
}
}
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N >> M;
for (int i = 0; i < N; i++)
cin >> arr[i];
sort(arr, arr + N);
func(0);
}
'알고리즘' 카테고리의 다른 글
백준 15665 N과 M (11) c++ (0) | 2024.01.15 |
---|---|
백준 s2 15663 N과 M (9), s2 15664 N과 M(10) c++ (0) | 2024.01.15 |
백준 s3 15652 N과 M (4) c++ (0) | 2024.01.15 |
백준 s3 15651 N과 M (3) c++ (0) | 2024.01.15 |
백준 s3 15650 N과 M (2) c++ (0) | 2024.01.15 |