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

    }

     

  • 相关阅读:
    TiDB HTAP
    react-router-dom使用指南(最新V6)
    条码管理操作手册
    算法通关村第12关【黄金】| 字符串冲刺题
    Python迭代器和生成器
    【鸿蒙应用ArkTS开发系列】- 云开发入门实战一使用鸿蒙登录组件实现客户端登录
    大数据Flink(八十一):SQL 时区问题
    什么是互联网打工人都需要知道的API?
    13.3.6 LIKE条件语句
    linux--系统文件I/O
  • 原文地址:https://blog.csdn.net/m0_72345017/article/details/127925470