#define _CRT_SECURE_NO_WARNINGS
#define INF 987654321
#include <iostream>
#include <vector>
using namespace std;
vector<int> v;
bool check[100];
vector<int> temp;
vector<vector<int>> result;
void permutation(int n, int r) {
if (n == r) {
result.push_back(temp);
return;
}
for (int i = 0; i < v.size(); i++) {
if (check[i]) continue;
check[i] = true;
temp.push_back(v[i]);
permutation(n + 1, r);
temp.pop_back();
check[i] = false;
}
}
int main() {
v.push_back(1);
v.push_back(2);
v.push_back(3);
v.push_back(4);
v.push_back(5);
permutation(0, 2);
for (int i = 0; i < result.size(); i++) {
for (int j = 0; j < result[i].size(); j++) {
cout << result[i][j] << " ";
}
cout << endl;
}
return 0;
}
반응형
'자료구조 + 알고리즘' 카테고리의 다른 글
알고리즘 기초개념, 빅오표기법 (0) | 2021.09.05 |
---|---|
알고리즘 공부순서 (0) | 2021.09.05 |
소수 판별 알고리즘 - 에라토스테네스의 체 (0) | 2021.09.05 |
최대공약수(GCD), 최소공배수(LCM) (0) | 2021.09.05 |
(C++) 조합(Combination) (0) | 2021.09.04 |