一、题目编号:
Problem N
二、简单题意:
某公司要统计全年盈利状况,对于每一个月来说,如果盈利则盈利S,如果亏空则亏空D。公司每五个月进行一次统计,全年共统计8次(1-5、2-6、3-7、4-8、5-9、6-10、7-11、8-12),已知这8次统计的结果全部是亏空(盈利-亏空<0)。题目给出S和D,判断全年是否能盈利,如果能则求出盈利的最大值,如果不能盈利则输出Deficit。
三、解题思路形成过程
一共统计8次,8次都是亏空的,要保证尽量盈利。所以把亏空放到5月份,如果还不能保证1-5月总额亏空,再在4月亏空,以此类推,直到1-5月亏空,6-10月复制1-5月。
全年的盈亏情况可以由前五个月直接决定
1、若SSSSD亏空,那么全年最优情况为SSSSDSSSSDSS
2、若SSSDD亏空,那么全年最优情况为SSSDDSSSDDSS
3、若SSDDD亏空,那么全年最优情况为SSDDDSSDDDSS
4、若SDDDD亏空,那么全年最优情况为SDDDDSDDDDSD
5、若DDDDD亏空,全年必亏空
四、感想
这个题好难。。
五、AC代码
#include<iostream>
using namespace std;
int main()
{
int s,d;
while(cin>>s>>d){
int hh=-1;
if (4*s<d)
hh=10*s-2*d;
else if (3*s<2*d)
hh=8*s-4*d;
else if (2*s<3*d)
hh=6*s-6*d;
else if (s<4*d)
hh=3*s-9*d;
if (hh<0)
cout<<"Deficit"<<endl;
else
cout<<hh<<endl;
}
return 0;
}