P18170 [GeeksforGeeks] Partition array to k subsets
提高-
题目描述

Given an integer array a[ ] of N elements and an integer K, the task is to check if the array a[ ] could be divided into K non-empty subsets with equal sum of elements.
Note: All elements of this array should be part of exactly one partition.
Example 1:
Input:
N = 5
a[] = {2,1,4,5,6}
K = 3
Output:
1
Explanation: we can divide above array
into 3 parts with equal sum as (2, 4),
(1, 5), (6)
Example 2:
Input:
N = 5
a[] = {2,1,5,5,6}
K = 3
Output:
0
Explanation: It is not possible to divide
above array into 3 parts with equal sum.
Your Task:
You don't need to read input or print anything. Your task is to complete the function isKPartitionPossible() which takes the array a[], the size of the array N, and the value of K as inputs and returns true(same as 1) if possible, otherwise false(same as 0).
Expected Time Complexity: O(N*2^{N}).
Expected Auxiliary Space: O(2^{N}).
Constraints:
1 ≤ K ≤ N ≤ 10
1 ≤ a[i] ≤ 100

输入格式

见题面

输出格式

见题面

样例输入
N = 5 a[] = {2,1,4,5,6} K = 3
样例输出
1