坑爹的题目呀 ,死活读不懂!!!参照别人的解说,才搞明白 题意,一个公司,每个月要么亏损d,要么盈利s,每年连续五个月统计一次,每年统计8次,某年因为事故数据丢失,只知道统计的8次都是亏损,但是不知道几月亏损,亏损多少。给你s和d,如果年终盈利,求盈利的最大数,如果亏损,输出Deficit。
分析:分5中情况讨论:(5-i)*s-i*d<0; i 从枚举到4,
i=1: SSSSDSSSSDSS ans=10*s-2*d;
i=2: SSSDDSSSDDSS ans=8*s-4*d;
i=3: SSDDDSSDDDSS ans=6*(s-d);
i=4: SDDDDSDDDDSD ans=3*s-9*d;
i=5: DDDDDDDDDDDD ans=-12*d;
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int s,d;
while(scanf("%d %d",&s,&d)!=EOF)
{
int i,ans;
for(i=1;i<5;i++)
if((5-i)*s-i*d<0)
break;
switch(i)
{
case 1:ans=10*s-2*d;break;
case 2:ans=8*s-4*d;break;
case 3:ans=6*s-6*d;break;
case 4:ans=3*s-9*d;break;
default:ans=-12*d;break;
}
if(ans<0)
cout<<"Deficit"<<endl;
else
cout<<ans<<endl;
}
return 0;
}