第四道ACM程序题

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;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值