贪心算法 Problem N 1013 求最大盈利

Problem N  Problem ID:1013

简单题意:MS公司每5个月公布一次这5个月的利润,也就是说这一年中共公布了8次(5月一次、6月一次····12月一次),且这8次恰好都是亏损。若12个月中,所有盈利的月份的盈利数额都相同且已知,所有亏损的月份的亏损数额也全部相同且已知,求全年总的盈利数额的最大值,如果不能盈利则输出Deficit。


 

解题思路形成过程:用s表示盈利,d表示亏损,则求盈利最大值共有5种可能情况:

①ssssdssssdss 

②sssddsssddss 

③ssdddssdddss 

④sddddsddddsd

⑤dddddddddd:一定亏损

感想:看似符合条件的情况很多,静下心来,不要急躁,一点点的分析,最后问题不一定多么复杂。

  问题比较简单,但题意比较难懂,英语水平高一点读题应该更容易些,注意提升自己的英语水平和英语题阅读能力。

代码:

#include<iostream>
#include<stdio.h>
using namespace std;
int main(){
    int m,n;
    while(scanf("%d%d",&m,&n)!=EOF)
    {
        if(4*m<n&&10*m-2*n>0)       //ssssdssssdss 
            cout<<10*m-2*n<<endl;
        else if(3*m<2*n&&8*m-4*n>0) //sssddsssddss 
            cout<<8*m-4*n<<endl;
        else if(2*m<3*n&&6*m-6*n>0) //ssdddssdddss 
            cout<<6*m-6*n<<endl;
        else if(m<4*n&&3*m-9*n>0)   //sddddsddddsd
            cout<<3*m-9*n<<endl;
        else
            cout<<"Deficit"<<endl;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是原来的你吗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值