Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

게임 개발 메모장

49. 합이 같은 부분집합(DFS) 본문

문제 해결력 훈련

49. 합이 같은 부분집합(DFS)

Dev_Moses 2024. 1. 18. 22:10

 

 

 

▣ 입력예제 

 

 

6

1 3 5 6 7 10

 

 

▣ 출력예제 

 

 

YES

 

 

 

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int n, total = 0, a[11], flag = false;

void DFS(int L, int sum)
{
	if (sum > (total / 2))
	{
		return;
	}

	if (flag == true)
	{
		return;
	}

	if(L == n+1)
	{
		if (sum == (total - sum))
		{
			flag =true;
		}
	}
	else
	{
		DFS(L+1, sum +a[L]);
		DFS(L+1, sum);
	}
}

int main()
{
	cin >> n;

	for (int i = 1; i <= n; ++i)
	{
		cin >> a[i];
	}

	DFS(1,0);

	if (flag == true)
	{
		cout << "YES" << endl;
	}
	else
	{
		cout << "NO" << endl;
	}
}

'문제 해결력 훈련' 카테고리의 다른 글

51. 특정 수 만들기(DFS : MS 인터뷰)  (0) 2024.01.18
50. 부분 집합 (DFS)  (0) 2024.01.18
48. Ugly Numbers  (0) 2024.01.18
47. 봉우리  (0) 2024.01.18
46. 멀티태스킹  (0) 2024.01.18