来源:POJ2586
这一题理解题意是一个问题,也就说,我们先知道了全年的情况,下面我们只要连续五个月计算盈亏,那么赚了,则一定是S,亏了就一定是D,所以理论上,我们可以计算出前五个月的情况的。
代码:
#include <iostream>
#include <cstdio>
using namespace std;
int main(){
long long s,d;
while(cin>>s>>d){
int i,ans;
for(i=1;i<=5;i++)//寻找有多少个亏损的月
if(s*(5-i)-d*i<0)//这个式子很好理解
break;
if(i==4)//对于i==4,我们注意,这时一定是三个月盈利,9个月亏损
ans=3*s-9*d;
else//其他情况,这里其实不包括5
ans=s*(12-2*i)-d*2*i;//我们把亏损的一起放到后面,这样就是可以减少亏损的个数
if(i==5||ans<0)//注意这一个顺序。。。i==5必须在前面
cout<<"Deficit"<<endl;
else
cout<<ans<<endl;
}
return 0;
}