서의 공간

[백준] 15654_N과 M (5) 본문

Algorithm/백준

[백준] 15654_N과 M (5)

홍서의 2021. 2. 6. 04:26

[문제]: 15654번: N과 M (5) (acmicpc.net)

 

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int n, m;
int vec[10];
int arr[10];
bool picked[10];

void solution(int k)
{
	if (k == m) {
		for (int i = 0; i < m; ++i)
			cout << arr[i] << ' ';
		cout << '\n';
		return;
	}

	for (int i = 0; i < n; ++i) {
		if(!picked[i]) {
			arr[k] = vec[i];
			picked[i] = 1;
			solution(k + 1);
			picked[i] = 0;
		}
	}
}

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);
	cout.tie(nullptr);
	cin >> n >> m;
	for (int i = 0; i < n; ++i)
		cin >> vec[i];
	sort(vec, vec + n);
	solution(0);
	return 0;
}

'Algorithm > 백준' 카테고리의 다른 글

[백준] 15656_N과 M (7)  (0) 2021.02.06
[백준] 15655_N과 M (6)  (0) 2021.02.06
[백준] 15652_N과 M (4)  (0) 2021.02.06
[백준] 15651_N과 M (3)  (0) 2021.02.06
[백준] 15650_N과 M (2)  (0) 2021.02.06
Comments