贪心算法 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;
    }
}

    原文作者:贪心算法
    原文地址: https://blog.csdn.net/q1169917/article/details/50999048
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞