递归 · 子集和
给定 n 个非负整数和目标 T,判断能否选出一个子集(可以为空)使其和恰好等于 T。
经典递归:对第
i个数做“选 / 不选”两个分支——rec(i+1, sum+a[i])或rec(i+1, sum);sum==T命中,i==n到底。这是“指数级搜索 + 剪枝”的入门。
输入:第 1 行 n T;第 2 行 n 个非负整数。
输出:YES 或 NO。
例:输入 4 6 / 1 2 3 7 → 输出 YES(1+2+3=6)。