1266:【例9.10】机器分配 2021-01-15

简介: 1266:【例9.10】机器分配 2021-01-15

1266:【例9.10】机器分配

时间限制: 1000 ms         内存限制: 65536 KB

【题目描述】

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

【输入】

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

接下来是一个N*M的矩阵,表明了第 I个公司分配 J台机器的盈利。

【输出】

第一行输出最大盈利值;

接下N行,每行有2个数,即分公司编号和该分公司获得设备台数。

【输入样例】

3 3           //3个分公司分3台机器

30 40 50

20 30 50

20 25 30

【输出样例】

70                                         //最大盈利值为70

1 1                                        //第一分公司分1台

2 1                                        //第二分公司分1台

3 1                                        //第三分公司分1台

1. #include <stdlib.h>
2. #include <cstdio>
3. #include <algorithm>
4. #include <string>
5. #include <iostream>
6. using namespace std;
7. int maxl,f[11][20],value[11][20];
8. int show(int i,int j){
9.  int k;
10.   if (i==0) return 0;
11.   for(k=0;k<=j;k++)
12.     if(maxl==f[i-1][k]+value[i][j-k]){
13.       maxl=f[i-1][k];
14.       show(i-1,k);
15.       cout<<i<<" "<<j-k<<endl;
16.       break;
17.     }
18. }
19. int main()
20. {
21.   int m,n,i,j,k;
22.   cin>>n>>m;
23.   for(i=1;i<=n;i++)
24.     for(j=1;j<=m;j++)
25.       cin>>value[i][j];
26.   for(i=1;i<=n;i++)
27.     for(j=1;j<=m;j++){
28.       maxl=0;
29.       for(k=0;k<=j;k++)
30.         if(f[i-1][k]+value[i][j-k]>maxl)
31.           maxl=f[i-1][k]+value[i][j-k];
32.       f[i][j]=maxl;
33.     }
34.   cout<<f[n][m]<<endl;
35.   show(n,m);
36.   //system("pause");
37.   return 0;
38. }

 

相关文章
|
7月前
|
自然语言处理 自动驾驶 机器人
机器自动话
机器自动话
62 1
|
存储 关系型数据库 MySQL
1000个并发线程,10台机器,每台机器4核,设计线程池大小 (4)
1000个并发线程,10台机器,每台机器4核,设计线程池大小 (4)
467 0
1000个并发线程,10台机器,每台机器4核,设计线程池大小 (4)
|
存储 计算机视觉
机器看世界(二)
机器看世界(二)
110 0
机器看世界(二)
|
机器学习/深度学习 人工智能 监控
机器看世界(一)
机器看世界(一)
113 0
开发机至少要有16G内存
开发机至少要有16G内存
148 0
|
消息中间件 监控 Dubbo
1000个并发线程,10台机器,每台机器4核,设计线程池大小 (2)
1000个并发线程,10台机器,每台机器4核,设计线程池大小 (2)
448 0
1000个并发线程,10台机器,每台机器4核,设计线程池大小 (2)
|
负载均衡 Java
1000个并发线程,10台机器,每台机器4核,设计线程池大小 (1)
1000个并发线程,10台机器,每台机器4核,设计线程池大小 (1)
170 0
1000个并发线程,10台机器,每台机器4核,设计线程池大小 (1)
|
缓存 负载均衡 Dubbo
1000个并发线程,10台机器,每台机器4核,设计线程池大小 (3)
1000个并发线程,10台机器,每台机器4核,设计线程池大小 (3)
268 0
1000个并发线程,10台机器,每台机器4核,设计线程池大小 (3)
|
机器学习/深度学习 人工智能 算法
机器能够像人一样思考吗?
你认为会不会出现一种机器,能够像人类一样思考,并且比人类更智能呢?