博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 2586 Y2K Accounting Bug
阅读量:4951 次
发布时间:2019-06-11

本文共 2886 字,大约阅读时间需要 9 分钟。

 

大意是一个公司在12个月中,或固定盈余s,或固定亏损d.

但记不得哪些月盈余,哪些月亏损,只能记得连续5个月的代数和总是亏损(<0为亏损),而一年中只有8个连续的5个月,分别为1~5,2~6,…,8~12

问全年是否可能盈利?若可能,输出可能最大盈利金额,否则输出“Deficit".

贪心,符合最优子结构性质。5个月统计一次都亏空,那么有5种情况:
      
1、若SSSSD亏空,那么全年可能最大盈利情况为: SSSSDSSSSDSS
      
2、若SSSDD亏空,那么全年可能最大盈利情况为:SSSDDSSSDDSS
      
3、若SSDDD亏空,那么全年可能最大盈利情况为: SSDDDSSDDDSS
      
4、若SDDDD亏空,那么全年可能最大盈利情况为: SDDDDSDDDDSD
      
5、若DDDDD亏空,那么全年可能最大盈利情况为: DDDDDDDDDDDD
                                                       Y2K Accounting Bug
Time Limit: 1000MS   Memory Limit: 65536K
Total Submissions: 10761   Accepted: 5391

Description

Accounting for Computer Machinists (ACM) has sufferred from the Y2K bug and lost some vital data for preparing annual report for MS Inc.
  All what they remember is that MS Inc. posted a surplus or a deficit each month of 1999 and each month when MS Inc. posted surplus, the amount of surplus was s and each month when MS Inc. posted deficit, the deficit was d. They do not remember which or how many months posted surplus or deficit. MS Inc., unlike other companies, posts their earnings for each consecutive 5 months during a year. ACM knows that each of these 8 postings reported a deficit but they do not know how much. The chief accountant is almost sure that MS Inc. was about to post surplus for the entire year of 1999. Almost but not quite. 
Write a program, which decides whether MS Inc. suffered a deficit during 1999, or if a surplus for 1999 was possible, what is the maximum amount of surplus that they can post.

Input

Input is a sequence of lines, each containing two positive integers s and d.

Output

For each line of input, output one line containing either a single integer giving the amount of surplus for the entire year, or output Deficit if it is impossible.

Sample Input

59 237375 743200000 8496942500000 8000000

Sample Output

11628300612Deficit
1 #include
2 #include
3 #include
4 int main() 5 { 6 int s,d; 7 while(~scanf("%d%d",&s,&d)) 8 { 9 int flag=0;10 int ans=0;11 if(4*s-d<0)12 {13 ans=10*s-2*d;14 if(ans<=0)15 flag=1;16 }17 else if(3*s-2*d<0)18 {19 ans=8*s-4*d;20 if(ans<=0)21 flag=1;22 }23 else if(2*s-3*d<0)24 {25 ans=6*s-6*d;26 if(ans<=0)27 flag=1;28 29 }30 else if(s-4*d<0)31 {32 ans=3*s-9*d;33 if(ans<=0)34 flag=1;35 36 }37 else38 {39 printf("Deficit\n");40 continue;41 }42 if(flag)43 printf("Deficit\n");44 else45 printf("%d\n",ans);46 47 }48 return 0;49 }

 

转载于:https://www.cnblogs.com/cancangood/p/4141408.html

你可能感兴趣的文章
关于zxing生成二维码,在微信长按识别不了问题
查看>>
Haskell学习-高阶函数
查看>>
手动通知扫描SD卡主动生成缩略图
查看>>
js中tagName和nodeName
查看>>
PC-XP系统忘记密码怎么办
查看>>
Android实例-打电话、发短信和邮件,取得手机IMEI号(XE8+小米2)
查看>>
深入了解Oracle ASM(二):ASM File number 1 文件目录
查看>>
SQL数据库学习系列之一
查看>>
Boosting(提升方法)之AdaBoost
查看>>
CUDA学习1 在Visual Studio和CodeBlocks上配置
查看>>
JavaScript(6)——事件1.0
查看>>
2013 ACM-ICPC China Nanjing Invitational Programming Contest 总结
查看>>
【Hibernate学习笔记-5】@Formula注解的使用
查看>>
链接元素<a>
查看>>
Binding object to winForm controller through VS2010 Designer(通过VS2010设计器将对象绑定到winForm控件上)...
查看>>
Spring Boot实战笔记(二)-- Spring常用配置(Scope、Spring EL和资源调用)
查看>>
前端性能优化集【持续更新】
查看>>
第二章:webdriver 控制浏览器窗口大小
查看>>
四则运算2初步构思
查看>>
Break the Chocolate(规律)
查看>>