Exhaustive Serch ( Aizu

题目链接 :https://vjudge.net/problem/Aizu-ALDS1_5_A

穷举搜索

 1 #include<stdio.h>
 2 
 3 int n, A[50];
 4 
 5 int solve (int i,in m)                
 6 {
 7     if( m == 0) return 1;           //递归 初始两行的条件都是递归到最底层时使用 
 8     if( i >= n) return 0; 
 9     int res = solve (i + 1, m) || solve(i + 1,m - A[i]);   //前者为0时,后者为1时 
10     return res;
11 }
12 
13 int    main()
14 {
15     int q, M, i;
16     scanf("%d",&n);
17     for( i = 0;i < n;i++ )
18     scanf("%d",&A[i]);
19     scanf("%d",&q);
20     for(i = 0;i < q;i++)
21     {
22         scanf("%d",&M);
23         if( solve(0,M) )    printf("yes
");
24         else  printf("no
");
25      } 
26     return 0;
27 }
原文地址:https://www.cnblogs.com/Dicer/p/8538994.html