Algorithm/백준
[백준] 15654번: N과 M(5)
youngine
2021. 1. 30. 21:10
15654번: N과 M (5)
N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열
www.acmicpc.net
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int n, m;
vector<int>num;
void dfs(int size,int now, vector<int>arr,vector<int>visit) {
if (size < now) {
for (int i = 0;i < arr.size();i++) {
cout << arr[i] << ' ';
}
cout << '\n';
return;
}
for (int i = 0;i < num.size();i++) {
if (!visit[i]) {
visit[i] = true;
arr.push_back(num[i]);
dfs(size, now + 1, arr, visit);
visit[i] = false;
arr.pop_back();
}
}
}
int main() {
cin >> n >> m;
for (int i = 0,t=0;i < n;i++) {
cin >> t;
num.push_back(t);
}
sort(num.begin(), num.end());
dfs(m, 1,vector<int>(),vector<int>(n+1,0));
}