hades

[Baekjoon] 15666๋ฒˆ: N๊ณผ M (12) ๋ณธ๋ฌธ

๐Ÿ‘Š PS/Algorithm

[Baekjoon] 15666๋ฒˆ: N๊ณผ M (12)

hades1 2024. 8. 13. 20:55

๐Ÿฅ… ๋ฌธ์ œ

https://www.acmicpc.net/problem/15666

 

๐Ÿ” ์„ค๊ณ„

๊ฐ™์€ ์ˆ˜๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์‚ฌ์šฉํ•ด๋„ ๋˜๋ฏ€๋กœ, ์ˆ˜๋ฅผ ์ €์žฅํ•  ๋•Œ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ์ €์žฅํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฏ€๋กœ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•œ๋‹ค. ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๊ธฐ ์ „์— ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ์ด ์ด๋ฃจ์–ด์ง€๋ฏ€๋กœ, ๋น„๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋‹ค.

 

์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜๋ฏ€๋กœ ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ๋Š” ํ•„์š”๊ฐ€ ์—†๊ณ , ๋น„๋‚ด๋ฆผ์ฐจ์ˆœ์ด๋ฏ€๋กœ ๋งˆ์ง€๋ง‰์œผ๋กœ ์‚ฌ์šฉํ•œ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ์ดํ›„๊นŒ์ง€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ‘Š ํ’€์ด

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

int n, m, temp;
vector<int> number;
vector<int> result;

void bt(int count, int last_idx) {
	if (count == m) {
		for (int i = 0; i < m; i++) {
			cout << result[i] << " ";
		}
		cout << "\n";
		return;
	}

	for (int i = last_idx; i < n; i++) {
		result.push_back(number[i]);
		bt(count + 1, i);
		result.pop_back();
	}
}

int main(void)
{
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);
	cin >> n >> m;
	for (int i = 0; i < n; i++) {
		cin >> temp;
		number.push_back(temp);
	}
	
	sort(number.begin(), number.end());
	number.erase(unique(number.begin(), number.end()), number.end());
	n = number.size();

	bt(0, 0);
	
	return 0;
}

'๐Ÿ‘Š PS > Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Baekjoon] 9663๋ฒˆ: N-Queen  (0) 2024.08.28
[Baekjoon] 1932๋ฒˆ: ์ •์ˆ˜ ์‚ผ๊ฐํ˜•  (0) 2024.08.19
[Baekjoon] 2638๋ฒˆ: ์น˜์ฆˆ  (0) 2024.08.13
15654๋ฒˆ: N๊ณผ M (5)  (0) 2024.08.12
[Baekjoon] 9465๋ฒˆ: ์Šคํ‹ฐ์ปค  (0) 2024.08.11