Algorithm ๐ง๐ป๐ป/๋ฐฑ์ค(BOJ)
[๋ฐฑ์ค,c++] 15665๋ฒ - N๊ณผ M (11)
dkswnkk
2021. 12. 4. 19:03
๋ฌธ์
https://www.acmicpc.net/problem/15665
15665๋ฒ: N๊ณผ M (11)
ํ ์ค์ ํ๋์ฉ ๋ฌธ์ ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์์ด์ ์ถ๋ ฅํ๋ค. ์ค๋ณต๋๋ ์์ด์ ์ฌ๋ฌ ๋ฒ ์ถ๋ ฅํ๋ฉด ์๋๋ฉฐ, ๊ฐ ์์ด์ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ถ๋ ฅํด์ผ ํ๋ค. ์์ด์ ์ฌ์ ์์ผ๋ก ์ฆ๊ฐํ๋ ์์๋ก ์ถ๋ ฅํด
www.acmicpc.net
์ฝ๋
#include <iostream>
#include <vector>
#include <algorithm>
#define max 8
using namespace std;
int N, M;
int arr[max];
bool visited[max];
vector<int>v;
void dfs(int start) {
if (start == M) {
for (int i = 0; i < M; i++) {
cout << arr[i] << ' ';
}
cout << "\n";
}
else {
for (int i = 1; i <= v.size()-1; i++) {
arr[start] = v[i - 1];
dfs(start + 1);
}
}
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cin >> N >> M;
for (int i = 0; i < N; i++) {
int num; cin >> num;
v.push_back(num);
}
sort(v.begin(), v.end());
v.erase(unique(v.begin(), v.end()), v.end()-1);
dfs(0);
}