Skip to content

Commit ef382f5

Browse files
authored
Create 15664.cpp
1 parent 61bbdcc commit ef382f5

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

baekjoon/15664.cpp

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
//15664 N과 M(10)
2+
#include <iostream>
3+
#include <vector>
4+
#include <algorithm>
5+
using namespace std;
6+
7+
int n, m;
8+
vector<bool> isused;
9+
vector<int> arr;
10+
vector<int> vis;
11+
12+
void func(int k){
13+
if(vis.size() == m)
14+
{
15+
for(int i =0; i<m; i++)
16+
{
17+
cout << arr[vis[i]] << ' ';
18+
}
19+
cout << '\n';
20+
return;
21+
}
22+
bool check[10001] = {};
23+
for(int i =k; i<n; i++)
24+
{
25+
if(!check[arr[i]]&&!isused[i])
26+
{
27+
isused[i] = 1;
28+
check[arr[i]] = 1;
29+
vis.push_back(i);
30+
func(i);
31+
isused[i] = 0;
32+
vis.pop_back();
33+
34+
}
35+
36+
}
37+
}
38+
39+
int main() {
40+
ios::sync_with_stdio(0);
41+
cin.tie(0);
42+
43+
cin >> n >> m;
44+
int k;
45+
for(int i =0; i<n; i++)
46+
{
47+
cin >> k;
48+
arr.push_back(k);
49+
}
50+
sort(arr.begin(), arr.end());
51+
52+
isused = vector<bool>(n, false);
53+
func(0);
54+
55+
return 0;
56+
}

0 commit comments

Comments
 (0)