DFS - 0 or 1 선택

rhkr9080·2023년 4월 29일
0

참, 거짓을 선택하거나, 선택 자체의 여부를 결정할 때 사용하면 좋은 방법!!

예를들어 크기 10의 배열에 0또는1을 넣는 경우, 2^10개(중복순열 2Pi10
)의 경우를 탐색하면 된다.

void DFS(int depth)
{
	if (depth == MAP_SIZE)
	{
		for (int i = 0; i < selected.size() ; i++) {
			cout << selected[i] << " ";
		}
		cout << endl;
		return;
	}

	for (int i = 0; i <= 1; i++)
	{
		selected.push_back(i);
		DFS(depth + 1);
		selected.pop_back();
	}
}
profile
공부방

0개의 댓글