Description
给定一个正整数的集合A={a1,a2,….,an},是否可以将其分割成两个子集合,使两个子集合的数加起来的和相等。例A = { 1, 3, 8, 4, 10} 可以分割:{1, 8, 4} 及 {3, 10}
Input
第一行集合元素个数n n <=300 第二行n个整数
Output
如果能划分成两个集合,输出任意一个子集,否则输出“no”
Sample Input
5
1 3 8 4 10
Sample Output
3 10
思路:定义一个c[i][j]二维数组,如果 c[i][j]为真则表示{a1,a2,……a[i]}存在子集和为j.j=0时为真。例如上面的样例,写出来就是
i | i | j0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
1 | 1 | T | T | ||||||||||||