一道ACM题目:A公司的烦恼.

myfjdthink 2012-04-15 08:11:29
A公司的烦恼: http://acm.hrbeu.edu.cn/index.php?act=problem&id=1004&cid=17 (哈工大的ACM题库里的)


Description

A公司的电脑管理系统受到了千年虫病毒的攻击,A公司因此丢失了向MS公司做年终汇报的数据。

A公司目前掌握的数据是MS公司每次公布的公司盈亏报表,而MS公司公布盈亏的方式与众不同,
它每次都是将连续5个月的盈或亏得总和做一次性的公布,
因此A公司不知道每个月具体的盈亏状况。
已知的情况是所有盈利月盈利固定为s,而亏损月亏损固定为d。

写一个程序,确定MS公司是否盈利,若盈利的话,那么可能的盈利最大值是多少。

Input

输入为两个正整数s和d。
Output

对于每一组的输入数据,若盈利的话,那么输出可能的盈利最大值是多少;若亏损的话,输出Deficit。
Sample Input

59 237
375 743
200000 849694
2500000 8000000

Sample Output

116
28
300612
Deficit



实在搞不懂, 连题目都看不懂, 所以也不知道怎么做.

如果你能看懂这题目的意思, 可以顺便帮我看看这道: http://acm.hrbeu.edu.cn/index.php?act=problem&id=1004&cid=18
为什么例子的第二个使用一个油井就行了?
...全文
652 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
boxer_tony 2012-05-07
  • 打赏
  • 举报
回复
唉,我现在理解力这么差了?两道题我看了半天也没搞懂究竟是什么意思!还是题目描述存在缺陷?
butcher_python 2012-05-01
  • 打赏
  • 举报
回复
求的是最小盈利
butcher_python 2012-05-01
  • 打赏
  • 举报
回复
计算的是“可能盈利的最小值”
比如59, 237,连续四个月为59,一个月为-237,5个月合起来是负的,总的最小盈利为10*59 - 2 * 237 = 116 (1,2,3,4 正, 5 负, 6,7,8,9 正,10 负,11,12正)
再如 375 743,连续四个月为374,一个月为-743,总盈利2264,不是最小盈利。最小盈利为3个374,2个-743,总盈利为8*375 - 4 * 743 = 28

另外:解释中的跳出条件
if(s * (5-i) -d *i) < 0) 其实是5个月和为负时跳出,即5个月和为负时,最可能出现最小盈利
最大的总盈利,肯定是5个正或4个正,不会是3,2,1个正
myfjdthink 2012-04-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

http://acm.hrbeu.edu.cn/index.php?act=problem&id=1004&cid=18
这个题目就是 求 这个图里面 有 几个 联通分量。。

第二个例子 四个油田都是连通的所以 用 一个 就好了。。
[/Quote]

谢谢, 油田的我懂了, 可是第一个还是不懂. 你这个解释Google可以找到, 这里求最大盈利值, 如果每个月都盈利, 那么不就是最大盈利了么? 我对S和D的理解是: 如果某个月盈利了, 那么盈利为S, 如果亏损则亏损D.
hen_hao_ji 2012-04-15
  • 打赏
  • 举报
回复
http://acm.hrbeu.edu.cn/index.php?act=problem&id=1004&cid=18
这个题目就是 求 这个图里面 有 几个 联通分量。。

第二个例子 四个油田都是连通的所以 用 一个 就好了。。
hen_hao_ji 2012-04-15
  • 打赏
  • 举报
回复
1.对于输入的两个值,要分析在连续的5个月里面,最多能有几个月盈利后该阶段盈利;这样就能判断一年里最多有几个月是盈利的;

2.一年共12个月,对于前十个月的处理可以按照上面的来,对于剩下的两个月只能按照最理想状态来分析。

33,027

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧