当前位置: 首页 > news >正文

P2066 机器分配

P2066 机器分配 - 洛谷

题目描述

总公司拥有高效设备M台,准备分给下属的N个分公司。各分公司若获得这些设备,可以为国家提供一定的盈利。问:如何分配这M台设备才能使国家得到的盈利最大?求出最大盈利值。其中M⩽15,N⩽10。分配原则:每个公司有权获得任意数目的设备,但总台数不超过设备数M。

输入格式

第一行有两个数,第一个数是分公司数N,第二个数是设备台数M。

接下来是一个N×M的矩阵,表明了第i个公司分配j台设备的盈利。

最大盈利值相同时,要求编号小的公司分得设备尽可能少。

输出格式

第一行为最大盈利值。

接下来N行为第i分公司分x台。

输入输出样例

输入 #1输出 #1
3 3
30 40 50
20 30 50
20 25 30
70
1 1
2 1
3 1

思路:
代码:

#include<bits/stdc++.h>
using namespace std;
int n, m;
int val[20][20];  // 存储每个公司分配不同设备的盈利
int best[20];     // 最优分配方案
int current[20];  // 当前分配方案
int max_profit = 0;  // 最大盈利// DFS函数:x=当前公司编号,Nprofit=当前盈利,Nremain=剩余设备
void dfs(int x, int Nprofit, int Nremain) 
{if (Nremain < 0) return;  // 设备不足,剪枝if (x > n) {  // 所有公司处理完毕if (Nprofit > max_profit) {max_profit = Nprofit;for (int i = 1; i <= n; i++) {best[i] = current[i];}}return;}// 枚举当前公司分配的设备数for (int k = 0; k <= Nremain; k++) {current[x] = k;  // 记录当前分配dfs(x + 1, Nprofit + val[x][k], Nremain - k);  // 递归处理下一个公司}
}int main() 
{cin >> n >> m;for (int i = 1; i <= n; i++) {for (int j = 1; j <= m; j++) {cin >> val[i][j];}}dfs(1, 0, m);  // 从第1个公司开始DFScout << max_profit << endl;  // 输出最大盈利for (int i = 1; i <= n; i++) {cout << i << " " << best[i] << endl;  // 输出最优分配方案}return 0;
}

http://www.dtcms.com/a/254736.html

相关文章:

  • 华为OD机试-MELON的难题-DFS(JAVA 2025A卷)
  • IntersectionObserver API应用场景示例代码详解
  • Netty PoolChunk依赖的自定义数据结构:IntPriorityQueue和LongLongHashMap
  • 计算机网络:(五)信道复用技术,数字传输系统,宽带接入技术
  • C++中所有数据类型
  • CppCon 2017 学习:folly::Function A Non-copyable Alternative to std::function
  • 目标检测之YOLOV11自定义数据使用OBB训练与验证
  • Apache ECharts-01.介绍
  • Arduino Nano 33 BLE Sense Rev 2开发板使用指南之【外设开发】
  • 响应式数据框架性能深度分析报告(@type-dom/signals)
  • EchoEar(喵伴):乐鑫发布与火山引擎扣子联名 AI 智能体开发板
  • 20250619在Ubuntu20.04.6下编译Rockchip瑞芯微原厂的RK3576的Buildroot系统
  • SSH服务与rsync服务配置实战
  • 内网运行控制四百来个海康威视硬件物联网定员管控软件(华为平板电脑版)
  • 3.5 map_saver地图的保存与加载
  • STM32 定时器讲解
  • 【Bug:docker】--Docker同时部署Dify和RAGFlow出现错误
  • 《汇编语言:基于X86处理器》第2章 复习题
  • 【AI论文】SWE-Factory:您的自动化工厂,提供问题解决培训数据和评估基准
  • Java 正则表达式高级用法
  • 全局数据的处理
  • 设计模式 - 原型模式
  • LTC3130EMSE#TRPBF ADI电子元器件深度解析 物联网/工业传感器首选!
  • RK3568笔记八十五:LVGL播放AVI视频
  • 单服务器部署多个Discuz! X3.5站点并独立Redis配置方案
  • 蜻蜓Q系统的技术演进:从Laravel 6到Laravel 8的升级之路-优雅草卓伊凡
  • NAT基础配置实验
  • Java求职者面试指南:Spring, Spring Boot, Spring MVC, MyBatis技术点深度解析
  • FPGA基础 -- Verilog 概率分布函数
  • 图床项目--展示