1.题目编号:1013
2.简单题意:某公司连续5个月有一个盈亏报表,每年有八次。每次的盈亏报表总是亏的,但每个月要么是亏,要么是赢,在这种情况下,给出盈利s和亏损d来计算全年公司最高盈利多少,输出盈利,否则输出Deficit
3.解题思路形成过程:要想得到最高的盈利,则需要使每五个月里出现最少的亏损月数。又因为每五个月既有亏又有赢,所以每五个月里亏损的月数有1、2、3、4
当亏损月数为1时,全年中则有两个月份亏损;
当亏损月份为2时,全年中则有四个月份亏损;
当亏损月数为3时,全年中则有6个月份亏损;
当亏损月份为4时,全年中则有9个月份亏损。
4.感悟:虽然代码很短,但要想起来如何去做是个很费事的题目,最主要的是读懂题意,感觉英文这么多,而且我一般理解不了出题人的意思,这是致命的缺点=.=,平时没有好好学习英文,一些单词都不认识,也是解决这个问题的难题之一。这次我又马虎了一次,连续提交了三遍都不成功,感觉自己写的挺对的,结果最后终于发现,忘了写return 0(┬_┬)费了半天的劲才找出来这个错误,现在不怎么用C++,感觉这些基本的知识都不知道了,o(︶︿︶)o 唉!吃一堑长一智吧~
5.AC的代码:
#include <iostream>
using namespace std;
int main()
{
int s,d;
while (cin>>s>>d){
int max=-1;
if (4*s<d)
max=10*s-2*d;
else if (3*s<2*d)
max=8*s-4*d;
else if (2*s<3*d)
max=6*s-6*d;
else if (s<4*d)
max=3*s-9*d;
if (max<0)
cout<<"Deficit"<<endl;
else
cout<<max<<endl;
}
return 0;
}