https://www.acmicpc.net/problem/15665
코드
/*boj s2 15665 N과 M (11)*/
#include <algorithm>
#include <iostream>
#define MAXN 105
using namespace std;
int N, M;
int arr[MAXN];
int ans[MAXN];
void func(int k) {
if (k == M) {
for (int m = 0; m < M; m++) {
cout << ans[m] << " ";
}
cout << "\n";
return;
}
int tmp = 0;
for (int j = 0; j < N; j++) {
if (tmp == arr[j]) continue; // 똑같은 수를 또 넣음
ans[k] = arr[j];
tmp = arr[j];
func(k + 1);
}
}
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);
}
'알고리즘' 카테고리의 다른 글
백준 g5 16987 계란으로 계란치기 c++ (0) | 2024.01.16 |
---|---|
백준 g5 1759 암호 만들기 c++ (0) | 2024.01.16 |
백준 s2 15663 N과 M (9), s2 15664 N과 M(10) c++ (0) | 2024.01.15 |
백준 s3 15654 N과 M (5) c++ (0) | 2024.01.15 |
백준 s3 15652 N과 M (4) c++ (0) | 2024.01.15 |