순열 만들기 기록
🙇♀️순열 만들기 기록
int n, r, ch[20];
void DFS(int s, int L)
{
if (L == r)
{
for (int i = 0; i < L; ++i)
{
cout << ch[i] << " ";
}
cout << endl;
}
else
{
for (int i = s; i < n; ++i)
{
ch[L] = i;
DFS(i + 1, L + 1);
}
}
}
n = 6, r = 4라면
위와 같은 결과가 나온다.
🚀전체 코드
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include<iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
int n, r, ch[20];
void DFS(int s, int L)
{
if (L == r)
{
for (int i = 0; i < L; ++i)
{
cout << ch[i] << " ";
}
cout << endl;
}
else
{
for (int i = s; i < n; ++i)
{
ch[L] = i;
DFS(i + 1, L + 1);
}
}
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
freopen("input.txt", "rt", stdin);
cin >> n >> r;
DFS(0, 0);
return 0;
}