码迷,mamicode.com
首页 > 其他好文 > 详细

P2066 机器分配

时间:2019-10-16 21:34:12      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:etc   img   ref   P20   read   cout   org   src   ble   

传送门:https://www.luogu.org/problem/P2066

这道题对我这种蒟蒻来说还是太难了

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int n,m;
 4 int plat[20][20];
 5 int dp[20][20];//前i个公司,放j个机器,最大放法 
 6 int path[20][20][20];//前i个公司,放j个机器,第k个公司放多少个 
 7 inline int read()
 8 {
 9     int x=0,f=1;char ch=getchar();
10     while(ch<0||ch>9){if(ch==-)f=-1;ch=getchar();}
11     while(ch>=0&&ch<=9){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}
12     return x*f;
13 }
14 int main()
15 {
16     n=read(),m=read();
17     for(int i=1;i<=n;i++)
18     {
19         for(int j=1;j<=m;j++)
20         {
21             plat[i][j]=read();
22         }
23     }
24     for(int i=1;i<=n;i++)
25     {
26         for(int j=0;j<=m;j++)
27         {
28             for(int k=0;k<=j;k++)
29             {
30                 if(dp[i][j]<=dp[i-1][j-k]+plat[i][k])
31                 {
32                     dp[i][j]=dp[i-1][j-k]+plat[i][k];
33                     for(int x=1;x<i;x++)
34                     {
35                         path[i][j][x]=path[i-1][j-k][x];
36                     }
37                     path[i][j][i]=k;
38                 }
39             }
40         }
41     }
42     cout<<dp[n][m]<<endl;
43     for(int i=1;i<=n;i++)cout<<i<<" "<<path[n][m][i]<<endl;
44 }

技术图片

 

P2066 机器分配

标签:etc   img   ref   P20   read   cout   org   src   ble   

原文地址:https://www.cnblogs.com/1129-tangqiyuan/p/11688495.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!