Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 10210 | Accepted: 5083 |
Description
Input
Output
Sample Input
59 237 375 743 200000 849694 2500000 8000000
Sample Output
116 28 300612 Deficit
Source
说下题目大意,比较难理解。
某公司要统计全年盈利状况,对于每一个月来说,如果盈利则盈利S,如果亏空则亏空D。
公司每五个月进行一次统计,全年共统计8次(1-5、2-6、3-7、4-8、5-9、6-10、7-11、8-12),已知这8次统计的结果全部是亏空(盈利-亏空<0)。
题目给出S和D,判断全年是否能盈利,如果能则求出盈利的最大值,如果不能盈利则输出Deficit。
恩,符合最优子结构性质,可以使用贪心算法。5个月统计一次都亏空,那么有5种情况:
1、若SSSSD亏空,那么全年最优情况为SSSSDSSSSDSS
2、若SSSDD亏空,那么全年最优情况为SSSDDSSSDDSS
3、若SSDDD亏空,那么全年最优情况为SSDDDSSDDDSS
4、若SDDDD亏空,那么全年最优情况为SDDDDSDDDDSD
5、若DDDDD亏空,全年必亏空...
因此只要讨论这5种情况即可...
1 #include <stdio.h> 2 int main() 3 { 4 int s,d; 5 while(scanf("%d%d",&s,&d)!=EOF) 6 { 7 int t,max; 8 max = -12*d; 9 if(4*s<d) 10 { 11 t = 10*s-2*d; 12 if(t>max) 13 max = t; 14 } 15 else if(3*s<2*d) 16 { 17 t = 8*s-4*d; 18 if(t>max) 19 max = t; 20 } 21 else if(2*s<3*d) 22 { 23 t = 6*s-6*d; 24 if(t>max) 25 max = t; 26 } 27 else if(s<4*d) 28 { 29 t = 3*s-9*d; 30 if(t>max) 31 max = t; 32 } 33 if(max>0) 34 printf("%d\n",max); 35 else 36 printf("Deficit\n"); 37 } 38 return 0; 39 }
贪心
poj_2586_Y2K Accounting Bug_201407211318,布布扣,bubuko.com
poj_2586_Y2K Accounting Bug_201407211318
原文:http://www.cnblogs.com/xl1027515989/p/3858242.html