POJ 2586 Y2K Accounting Bug(贪心)

题目连接:http://poj.org/problem?id=2586

题意:某公司要统计全年盈利状况,对于每一个月来说,如果盈利则盈利S,如果亏空则亏空D公司每五个月进行一次统计,全年共统计8(1-52-63-74-85-96-107-118-12)已知这8次统计的结果全部是亏空(盈利-亏空<0)。题目给出SD,判断全年是否能盈利,如果能则求出盈利的最大值,如果不能盈利则输出Deficit

解析:

全年的盈亏情况可以由前五个月直接决定1、若SSSSD亏空,那么全年最优情况为SSSSDSSSSDSS 
2、若SSSDD亏空,那么全年最优情况为SSSDDSSSDDSS 
3、若SSDDD亏空,那么全年最优情况为SSDDDSSDDDSS 
4、若SDDDD亏空,那么全年最优情况为SDDDDSDDDDSD 
5、若DDDDD亏空,全年必亏空...
 1 #include<stdio.h>
 2 int main()
 3 {
 4     int s,d,sum;
 5     while(~scanf("%d%d",&s,&d))
 6     {
 7         sum=0;
 8         if(d>4*s) sum=10*s-2*d;
 9         else if(2*d>3*s) sum=8*s-4*d;
10         else if(3*d>2*s) sum=6*s-6*d;
11         else if(4*d>s)  sum=3*s-9*d;
12         else sum=-1;
13         if(sum<=0) printf("Deficit\n");
14         else 
15         printf("%d\n",sum);
16     }
17 }

 

 

 

 

 
posted @ 2013-06-24 22:55  水门  阅读(202)  评论(0)    收藏  举报