• 贪心算法—Problem N


    贪心算法—Problem N

    题意

    某公司要统计全年盈利状况,对于每一个月来说,如果盈利则盈利s,如果亏空则亏空d。公司每五个月进行一次统计,全年共统计8次(1-5、2-6、3-7、4-8、5-9、6-10、7-11、8-12),已知这8次统计的结果全部是亏空(盈利-亏空<0)。题目给出每月的S和D,判断全年是否能盈利,如果能则求出盈利的最大值,如果不能盈利则输出Deficit。

    解题思路

    一共统计了8次,8次都是亏空的,要保证尽量盈利。所以把亏空放到5月份,这时有一个月亏空四个月盈余,如果不能保证1-5月总额亏空,再在4月亏空,这时两个月亏空三个月盈余···以此类推,直到1-5月亏空,这时全年必亏空。6-10月和1-5月相同,复制即可。最后根据输入情况判断输出最大盈余或者Deficit。

    感想

    刚开始看不懂题意,借助翻译工具仔细查看后才明白题意,分析一下,和数学题差不多,只是加入了贪心思想,使问题看起来复杂了些。

    AC代码

    #include

    using namespace std;

    int main()

    {

       int  s,d,res; 

       while(cin>>s>>d) 

       { 

           if (d > 4 * s)  res = 10 * s -2 * d; 

           else if (2 * d > 3 * s)  res =8 * s - 4 * d; 

           else if (3 * d > 2 * s)  res =6 * s - 6 * d; 

           else if (4 * d > s)  res = 3 *s - 9 * d; 

           else  res = -12 * d;           

           if (res <= 0)  cout<<"Deficit"<

           else  cout<

       } 

       return 0;    

    }

     

  • 相关阅读:
    C++ STL容器初识:迭代器
    补充总结html所有内容,html学习完这篇基本就差不多了
    【基操】ArcGIS三种筛选提取要素的方法
    混合云搭建-S2S VPN 连接Azure和AWS云动手实践
    HTTP协议初相识:了解HTTP协议
    大规模爬虫系统面临的主要挑战及解决思路
    0906几个内核前缀
    LeetCode39. Combination Sum
    21天学习挑战赛-线性表(下)
    2022 前端面试题
  • 原文地址:https://blog.csdn.net/m0_72345017/article/details/127925470