• 51nod 1268 和为K的组合 暴力


    基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题
     收藏
     关注
    给出N个正整数组成的数组A,求能否从中选出若干个,使他们的和为K。如果可以,输出:"Yes",否则输出"No"。
    Input
    第1行:2个数N, K, N为数组的长度, K为需要判断的和(2 <= N <= 20,1 <= K <= 10^9)
    第2 - N + 1行:每行1个数,对应数组的元素A[i] (1 <= A[i] <= 10^6)
    Output
    如果可以,输出:"Yes",否则输出"No"。
    Input示例
    5 13
    2
    4
    6
    8
    10
    Output示例
    No


    看完题目乱七八糟想了一大堆 然后一看数据...
    20 直接一发暴力过
    #include <iostream>
    #include <cstring>
    #include <cstdio>
    #include <algorithm>
    #include <queue>
    #include <vector>
    #include <iomanip>
    #include <math.h>
    #include <map>
    using namespace std;
    #define FIN     freopen("input.txt","r",stdin);
    #define FOUT    freopen("output.txt","w",stdout);
    #define INF     0x3f3f3f3f
    #define INFLL   0x3f3f3f3f3f3f3f
    #define lson    l,m,rt<<1
    #define rson    m+1,r,rt<<1|1
    typedef long long LL;
    typedef pair<int, int> PII;
    using namespace std;
    
    int a[25];
    int n, k;
    int flag = 0;
    
    void dfs(int num, int pos) {
        if(num == k) {
            flag = 1;
            return;
        }
        else if(num > k) return;
        if(pos == n) return;
        for(int i = pos + 1; i < n; i++) {
            dfs(num + a[i], i);
        }
    }
    
    int main() {
        //FIN
        while(~scanf("%d%d", &n, &k)) {
            flag = 0;
            for(int i = 0; i < n; i++) scanf("%d", &a[i]);
            for(int i = 0; i < n; i++) {
                if(a[i] == k) {
                    flag = 1;
                    break;
                }
                else if(a[i] < k) {
                    dfs(a[i], i);
                }
                else continue;
            }
            if(flag) printf("Yes
    ");
            else printf("No
    ");
        }
    }
    

      

     
  • 相关阅读:
    【C++】基础及引用
    gradle打包分编译环境
    gradle
    MediaPlayer滑动不准的问题
    python初步入门
    音频播放服务
    《深入理解Android2》读书笔记(二)
    缓存(LruCache)机制
    handler机制
    监听网络状态
  • 原文地址:https://www.cnblogs.com/Hyouka/p/7351392.html
Copyright © 2020-2023  润新知