当前位置: 代码迷 >> 综合 >> poj - 2586 - Y2K Accounting Bug
  详细解决方案

poj - 2586 - Y2K Accounting Bug

热度:6   发布时间:2024-01-10 13:50:44.0

题意:ACM因为Y2K这个bug丢失了MS Inc的一些统计数据,ACM所记得的,那些数据是MS Inc 提交的1999年各个月的盈利或亏损情况,而且,一个月如果是盈利的,那么盈利就为输入的s,如果这个月亏损了,那么亏损就为输入的d。但ACM忘了哪个月或者多少个月提交的盈利或者亏损。MS Inc,不像其他公司,它每次提交都是提交连续5个月的盈亏情况(1-5,2-6,…,8-12共8次),ACM记得这8次提交都是同一个亏损额,但忘了亏损多少。

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

——>>题意甚难懂!!!贪心策略,5种亏损情况先尝试盈利月数多的情况,即尝试顺序为ssssd,sssdd,ssddd,sdddd,ddddd,代码如下:

#include <cstdio>using namespace std;int main()
{int s, d;while(~scanf("%d%d", &s, &d)){if(s*4 - d < 0)if(s*10 - d*2 > 0) printf("%d\n", s*10 - d*2);else printf("Deficit\n");else if(s*3 - d*2 < 0)if(s*8 - d*4 > 0) printf("%d\n", s*8 - d*4);else printf("Deficit\n");else if(s*2 - d*3 < 0)if(s*6 - d*6 > 0) printf("%d\n", s*6 - d*6);else printf("Deficit\n");else if(s - d*4 < 0)if(s*3 - d*9 > 0) printf("%d\n", s*3 - d*9);else printf("Deficit\n");else printf("Deficit\n");}return 0;
}