首页 > 其他 > 详细

NYoj 部分和问题(深搜经典)

时间:2015-09-28 11:27:00      阅读:545      评论:0      收藏:0      [点我收藏+]

题目链接:

http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=1058

 

技术分享
 1 #include <stdio.h>  
 2 int n, k, ok, arr[22], vis[22], count;  
 3   
 4 void DFS(int pos){  
 5         if(count == k)  
 6         {  
 7                 ok = 1;  
 8                 printf("YES\n");  
 9             for(int i = 0; i < n; ++i)  
10                 if(vis[i])   
11                     printf("%d ", arr[i]);  
12             printf("\n");  
13         }  
14       
15     for(int i = pos; i < n; ++i)  
16     {  
17         count += arr[i];  
18         vis[i] = 1;  
19         DFS(i + 1);  
20         count -= arr[i];  
21         vis[i] = 0;  
22     }  
23 }  
24   
25 int main(){  
26     while(scanf("%d%d", &n, &k) == 2){  
27         ok = 0;  
28         for(int i = 0; i < n; ++i){  
29             scanf("%d", arr[i]);  
30             vis[i] = 0;  
31         }  
32         count = 0; DFS(0);  
33         if(!ok) printf("NO\n");  
34     }  
35     return 0;  
36 }  
View Code

 

NYoj 部分和问题(深搜经典)

原文:http://www.cnblogs.com/wangmengmeng/p/4843494.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!