서의 공간

[백준] 15664_N과 M (10) 본문

Algorithm/백준

[백준] 15664_N과 M (10)

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

[문제]: 15664번: N과 M (10) (acmicpc.net)

 

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

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

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

	int already = -1;

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

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, -1);
	return 0;
}

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

[백준] 15666_N과 M (12)  (0) 2021.02.06
[백준] 15665_N과 M (11)  (0) 2021.02.06
[백준] 15663_N과 M (9)  (0) 2021.02.06
[백준] 15657_N과 M (8)  (0) 2021.02.06
[백준] 15656_N과 M (7)  (0) 2021.02.06
Comments