본문 바로가기
알고리즘 풀이

N과 M (3)

by 남생이야 2024. 8. 7.

 

N과 M의 문제에서 방문 처리를 하지 않은 것으로 풀어냈다. 중복을 뽑아야하기 때문에 중복때문에 방문처리 내용을 제거 한 것이 문제의 핵심인 것 같다.

 

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

int n, m;
int visited[9];
int arr[9];

void permutation(int level)
{
	if (level == m)
	{
		for (int i = 0; i < m; i++)
		{
			cout << arr[i] << " ";
		}
		printf("\n");

		return;
	}

	for (int i = 1; i <= n; i++)
	{

		arr[level] = i;
		visited[i] = 1;
		permutation(level + 1);
		visited[i] = 0;
	}

}

int main()
{
	cin >> n >> m;

	permutation(0);
	return 0;
}

'알고리즘 풀이' 카테고리의 다른 글

수 정렬하기  (0) 2024.08.07
N과 M (1)  (0) 2024.08.07
너의 평점은  (0) 2024.07.30
그룹 단어 체커  (0) 2024.07.29
크로아티아 알파벳  (0) 2024.07.29