1 条题解
-
0
很简单的子集枚举,用DFS。
DFS代码
void dfs(int x,int cnt,int sum){ if(sum==t && cnt>=m) { cout << "Yes"; exit(0);//在函数内部结束程序 } if(x==n+1) return;//防止无限递归和越界 dfs(x+1,cnt+1,sum+a[x]); dfs(x+1,cnt,sum); return; }主函数
int main(){ //输入自己写 dfs(1,0,0); cout << "No";//DFS未找到满足条件的子集,输出"NO" return 0; }
- 1
信息
- ID
- 3608
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 3
- 已通过
- 0
- 上传者