개발(Dev) 이야기/Algorithm

[BOJ] N과M(5)_15654.cpp

이스트버드 2020. 3. 17. 17:10
반응형
//N과M(5)_15654.cpp - success
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
bool check[10];
int num[10];
void solve(int idx, vector <int>& buf, int n, int m) {
	if (idx == m) {
		for (int i = 0; i < m; i++) {
			cout << num[i];
			if (i != m - 1) cout << ' ';
		}
		cout << '\n';
		return;
	}
	for (int i = 0; i < n; i++) {
		if (check[i]) continue;
		check[i] = true;
		num[idx] = buf[i];
		solve(idx + 1, buf, n, m);
		check[i] = false;
	}
}
int main() {
	int n, m;
	cin >> n >> m;
	vector <int> buf(n);
	for (int i = 0; i < n; i++) {
		cin >> buf[i];
	}
	sort(buf.begin(), buf.end());
	solve(0, buf, n, m);
	return 0;
}
반응형