NYOJ--1058--dfs--部分和问题
来源:互联网 发布:七天网络查分怎么登录 编辑:程序博客网 时间:2024/06/07 02:31
/*Name: NYOJ--1058--部分和问题Author: shen_渊 Date: 15/04/17 19:27Description: 简单的DFS,以为马上过的,递归的i+1写错了,重复好多情况 */#include<iostream> #include<cstring>using namespace std;void dfs(int,int);int n,k,flag;int arr[22];int vis[22];int main(){//freopen("in.txt","r",stdin);while(cin>>n>>k){memset(vis,0,sizeof(vis));memset(arr,0,sizeof(arr));flag = 0;for(int i=0; i<n; ++i)cin>>arr[i];dfs(0,0);if(!flag)cout<<"NO\n";}return 0;}void dfs(int ct,int val){if(val == k){if(!flag){flag = 1;cout<<"YES\n";}for(int i=0; i<n; ++i)if(vis[i])cout<<arr[i]<<" ";cout<<endl;}for(int i=ct; i<n; ++i){//有多个选择,不同的选择项有选择与不选择 if(val+arr[i] <= k){vis[i] = 1;//标记的作用是输出 dfs(i+1,val+arr[i]);// 错了好久ct+1会重复= = i+1一直向下搜索 例子中如果搜到 2 4 7 就不能搜 4 2 7 vis[i] = 0;}}}
0 0
- NYOJ 1058 部分和问题 【DFS】
- nyoj 1058 部分和问题 【DFS】
- NYOJ 1058--部分和问题【DFS】
- NYOJ 1058 部分和问题【DFS】
- nyoj 1058 部分和问题 【简单DFS】
- NYOJ 1058 部分和问题(dfs)
- nyoj--1058--部分和问题(dfs)
- NYOJ 1058 部分和问题(dfs)
- nyoj--1058 部分和问题(dfs)
- NYOJ 1058 部分和问题 (DFS)
- NYOJ 1058 部分和问题 (DFS)
- NYOJ 1058部分和问题(DFS)
- NYOJ - 1058 - 部分和问题(DFS+减枝)
- NYOJ 1058 部分和问题(DFS)
- NYOJ--1058--dfs--部分和问题
- NYOJ-1058- 部分和问题(DFS)
- [DFS] NYOJ-1058-部分和问题
- NYOJ 1058 部分和问题(dfs)
- nginx 405 not allowed问题的解决
- 在一个循环中break,continue和return有什么不同?
- 在应用程序中使用Xml文件
- 信息资源管理
- Socket长连接和短连接
- NYOJ--1058--dfs--部分和问题
- 文件监控
- Ural 2040 Palindromes and Super Abilities 2
- Bar 3D 和Pie 3D的统计图形
- 树的应用——最大堆的建立
- wpf C# wcf运行访问权限问题
- 对象序列化和反序列化
- Sqlite3数据库
- NYOJ_1225_Rectangles【dp】