🙇‍♀️순열 만들기 기록

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;
}