#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int N;
int M;
int arr[8];
bool check[8] = { false, };
vector<int> save;
void Permutation(int n, int r)
{
if (n == r)
{
for (int i = 0; i < save.size(); i++)
{
printf("%d",save[i]);
printf(" ");
}
printf("\n");
}
for (int i = 0; i < N; i++)
{
if (check[i] == true) continue;
check[i] = true;
save.push_back(arr[i]);
Permutation(n + 1, r);
save.pop_back();
check[i] = false;
}
}
int main(void)
{
cin >> N;
cin >> M;
for (int i = 0; i < N; i++) {
int temp;
cin >> temp;
arr[i] = temp;
}
for (int i = 0; i < N; i++) {
for (int j = i + 1; j < N; j++) {
if (arr[j] < arr[i]) {
int tmp = arr[j];
arr[j] = arr[i];
arr[i] = tmp;
}
}
}
Permutation(0, M);
}
카테고리 없음