首页 > 其他分享 >2的n次种组合

2的n次种组合

时间:2024-03-25 16:32:07浏览次数:29  
标签:totalCost 组合 int 次种 minCost bitMask state prices

#include <stdio.h>

#include <limits.h> // 用于INT_MAX

 

int minCost(int n, int x, int prices[]) {

    int minCost = INT_MAX; // 初始化最小花费为最大整数值

    int totalCost, i, j;

    int state, bitMask; // state用于遍历所有组合,bitMask用于检查某一位是否被设置

 

    // 遍历所有可能的购书组合

    for (state = 0; state < (1 << n); state++) {

        totalCost = 0;

        for (i = 0; i < n; i++) {

            // 检查第i本书是否被选中(即state的第i位是否为1)

            bitMask = 1 << i;

            if (state & bitMask) {

                totalCost += prices[i]; // 如果选中,则累加价格

            }

        }

        // 如果当前组合的总价格大于等于x,且比之前记录的最小花费小,则更新最小花费

        if (totalCost >= x && totalCost < minCost) {

            minCost = totalCost;

        }

    }

    return minCost;

}

 

int main() {

    int n, x, i;

    int prices[30]; // 假设最多30本书

 

    // 读取输入

    scanf("%d %d", &n, &x);

    for (i = 0; i < n; i++) {

        scanf("%d", &prices[i]);

    }

 

    // 调用函数并输出结果

    int result = minCost(n, x, prices);

    printf("%d\n", result);

 

    return 0;

}

标签:totalCost,组合,int,次种,minCost,bitMask,state,prices
From: https://blog.csdn.net/2303_80757919/article/details/137018064

相关文章

  • C# 组合模式构建树形结构,实现多级指令菜单模式
    使用场景图形界面库:在图形界面开发中,UI元素(按钮、文本框等)和容器元素(面板、窗口等)可以使用组合模式来构建复杂的用户界面。这样,可以统一处理单个元素和组合元素,使得客户端代码更简洁文件系统和目录结构:文件系统是一个经典的组合模式应用场景。文件夹可以包含文件和其他文件夹,形......
  • 代码随想录 第25天 | ● 216.组合总和III ● 17.电话号码的字母组合
    leetcode:216.组合总和III-力扣(LeetCode)classSolution{List<List<Integer>>res=newArrayList<>();LinkedList<Integer>link=newLinkedList<>();publicList<List<Integer>>combinationSum3(i......
  • 【每周例题】力扣 C++ 组合
    组合题目力扣组合 题目解析1.我们可以根据题目分析可知,题目所要求我们做的是:从1到n进行遍历,找出k个数组成小组合,再将小组合拼接在一起成为大组合输出。2.所以,根据题目,我们可以采用两个数组,一个一维数组temp,负责存储k个数,组为小组合,一个二维数组res,存储小组合,变为大组合。......
  • TSP旅行商问题——SA模拟退火算法,SA+GA组合算法(代码解释)
    SA代码直接用就行,成功率极高importrandomimportnumpyasnpimportmatplotlib.pyplotasplt#randomlygeneratethemapwithconstraintof[-100,100]defgen_cities(city_num,random_state=True):ifrandom_state:cities=(np.random.uniform(0......
  • Flink CEP (四)组合模式
    FlinkCEP(四)组合模式文章目录初始模式(InitialPattern)近邻条件(ContiguityConditions)严格近邻(StrictContiguity)宽松近邻(RelaxedContiguity)非确定性宽松近邻(Non-DeterministicRelaxedContiguity)其他限制条件循环模式中的近邻条件定义好的个体模式,就可以尝试按一定......
  • C++面向对象编程 - 组合:C++中的组合是一种类与类之间的关系
    C++面向对象编程-组合在C++中,面向对象编程(Object-OrientedProgramming,简称OOP)是一种强大的编程范式,它允许我们通过类(Class)和对象(Object)的概念来组织和管理代码。在面向对象编程中,类不仅可以包含数据成员(Attributes)和成员函数(Methods),还可以与其他类建立各种关系。其中一......
  • 佰力博推出压电陶瓷高压极化+压电d33测试仪组合测试方案
    今天,从佰力博官网获悉佰力博推出压电陶瓷高压极化+压电d33测试仪组合测试方案,该方案全面解决压电陶瓷从研发到产业化过程中所有用户痛点,从用户出发研发产品,为企业赋能,助力中国基础材料研发。下面我将为大家介绍压电陶瓷高压极化+压电d33测试仪组合测试方案:研究型-组合测试方......
  • 组合数学
    二项式反演形式形式\(1\):\[f(n)=\sum\limits_{i=0}^{n}(-1)^i\binom{n}{i}g(i)\Leftrightarrowg(n)=\sum\limits_{i=0}^{n}(-1)^i\binom{n}{i}f(i)\]形式\(2\):\[f(n)=\sum\limits_{i=0}^{n}\binom{n}{i}g(i)\Leftrightarrowg(n)=\sum\limits_{i=0}^{n}(-1......
  • prefer 组合 to 继承
    核心不要多继承,要通过组合的模式进行组合,解耦,非强绑定需求我已有一个CodingService的接口,同时有一个CodingServiceImpl的实现类,接口中定义了createReository,pullCode,pushCode三个方法,CodingServiceImpl实现类里面进行了实现,现在想通过prefer组合to继承的思想,将接口中的3......
  • MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合
    全文链接:http://tecdat.cn/?p=30426原文出处:拓端数据部落公众号对VaR计算方法的改进,以更好的度量开放式基金的风险。本文把基金所持股票看成是一个投资组合,引入Copula来描述多只股票间的非线性相关性,构建多元GARCH-EVT-Copula模型来度量开放式基金的风险,并与其他VaR估计方法的预......