回 帖 发 新 帖 刷新版面

主题:百度Astar2006程序设计大赛预赛题--座位调整

注册过的朋友请到http://star.baidu.com 答题 

5.座位调整 
百度办公区里到处摆放着各种各样的零食。百度人力资源部的调研发现,员工如果可以在自己喜欢的美食旁边工作,效率会大大提高。因此,百度决定进行一次员工座位的大调整。

调整的方法如下:
1.首先将办公区按照各种零食的摆放分成N个不同的区域(例如:可乐区,饼干区,牛奶区等等);
2.每个员工对不同的零食区域有不同的喜好程度(喜好程度是1~100的整数, 喜好程度越大表示该员工越希望被调整到相应的零食区域);
3.由于每个零食区域可以容纳的员工数量有限,人力资源部希望找到一个最优的调整方案使得总的喜好程度最大。


输入要求:
文件第一行包含两个整数N,M(N>=1,M<=300)。分别表示N个区域和M个员工;
第二行是N个整数构成的数列a,其中a[i]表示第i个区域可以容纳的员工数(1<=a[i]<=M,a[1]+a[2]+...+a[N]=M);
紧接着是一个M*N的矩阵P,P(i,j)表示第i个员工对第j个区域的喜好程度。例:
3 3
1 1 1
100 50 25
100 50 25
100 50 25


输出要求:
对于每个测试数据,输出可以达到的最大的喜好程度。例:
175



数据解释:
此数据只存在一种安排方法,三个员工分别安置在三个区域。最终的喜好程度为100+50+25=175


评分规则:
1.程序将运行在一台Linux机器上(内存使用不作严格限制),在每一测试用例上运行不能超过10秒,否则该用例不得分;
2.要求程序能按照输入样例的格式读取数据文件,按照输出样例的格式将运行结果输出到标准输出上。如果不能正确读入数据和输出数据,该题将不得分;
3.该题目共有4个测试用例,每个测试用例为一个输入文件。各测试用例占该题目分数的比例分别为25%,25%,25%,25%;
4.该题目20分。

回复列表 (共15个回复)

11 楼

[quote]楼上举个数据先[/quote]
很简单的道理,我不想举例了.
写程序的时候那样的反例我自己尝试过多组,把题目给的测试数据修改一下,很容易就能推翻你的想法.

12 楼

好像有点道理啊

再想想

13 楼

听到某高手说的,这个是典型的最小费用最大流问题.

加一些接点外,再加超级源点和超级汇点,就ok了.

14 楼

真是仁者见仁,智者见智啊!!!我一定也会把这个题目做出来,放上来的,呵呵!!!

15 楼


不得不让我佩服!

------------------
 [url=http://www.pumpzc.com/1/yxb.htm]液下泵[/url] 
[url=http://www.pumpzc.com/1/lsxfb.htm]消防泵[/url]
 [url=http://www.pumpzc.com/1/blgb.htm]玻璃钢泵[/url]

我来回复

您尚未登录,请登录后再回复。点此登录或注册