[C++] 백준 15649. N과 M (1)

멋진감자·2024년 12월 21일
1

알고리즘

목록 보기
54/64
post-thumbnail

문제

입출력

풀이

dfs랑 뭐가 다른거지
그게 그건가

코드

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

int N, M;
int visit[9];
vector<int> v;

void solution(int lev) {
	if (lev == M) {
		for (int i = 0; i < v.size(); i++) cout << v[i] << " ";
		cout << "\n";
		return;
	}
	for (int i = 1; i <= N; i++) {
		if (visit[i]) continue;
		visit[i] = 1;
		v.push_back(i);
		solution(lev + 1);
		visit[i] = 0;
		v.pop_back();
	}
}

int main() {
	cin >> N >> M;
	solution(0);
	return 0;
}

채점

array에 1부터 N까지 담았다가 i로 돌면 되니까 필요가 없어져서 제거.

profile
난멋져

0개의 댓글