当前位置: 首页 > 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;
}

相关文章:

  • 华为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 正则表达式高级用法
  • 网站快速排名优化报价/网络营销事件
  • 用ps做美食网站/谷歌浏览器下载手机版中文
  • 广州开发网站技术/2023网站分享
  • 用什么做网站最好/西安百度竞价托管
  • 淄博网站建设培训学校/seo诊断站长
  • 日本插画网站/学大教育培训机构怎么样