zoukankan      html  css  js  c++  java
  • POJ2586 Y2K Accounting Bug (贪心)

    题目大意:某公司每个月都会盈利或者亏损,盈利的金额为s,亏损的金额为d,该公司每连续5个月报一次财政状况,即(1-5,2-6,3-7,4-8,5-9,6-10,7-11,8-12),这八次报账都显示公司为亏损,问,该公司年底最多能盈利多少,如果不能盈利输出Deficit。 
      
    分析:由于每5个月的报账都为亏损,所有连续的5个月里至少有1个月为亏损,则可能产生最优解的情况为如下4种 
    1 2 3 4 5 6 7 8 9 10 11 12 
    s s s s d s s s s d  s  s //每5个月里只有1个月亏损 
    s s s d d s s s d d  s  s //每5个月里只有2个月亏损 
    s s d d d s s d d d  s  s //每5个月里只有3个月亏损 
    s d d d d s d d d d  s  d //每5个月里只有4个月亏损 
    从上到下一次枚举四种情况,如果满足条件(每次报账都为亏损),则算出ans = (盈利的月数)*s - (亏损的月数)*d,若ans>0 则输出 否则输出Deficit;若上述4种情况都不满足,则直接输出Deficit.
    #include<stdio.h> 
    int main() 
    { 
        int s,d; 
        while(~scanf("%d%d",&s,&d)) 
        { 
            int ans=-1; 
            if(4*s-d<0) 
      
                ans=10*s-2*d; 
      
            else
      
                if(3*s-2*d<0) 
                ans=8*s-4*d; 
      
            else
      
                if(2*s-3*d<0) 
                ans=6*s-6*d; 
      
            else
      
                if(s-4*d<0)ans=3*s-9*d; 
      
                else ans=-1; 
      
      
            if(ans>0)printf("%d\n",ans); 
            else printf("Deficit\n"); 
        } 
      
    }
     
    字节跳动内推

    找我内推: 字节跳动各种岗位
    作者: ZH奶酪(张贺)
    邮箱: cheesezh@qq.com
    出处: http://www.cnblogs.com/CheeseZH/
    * 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    Hibernate初学
    表分区
    单列函数
    Oracle基础
    8.28
    SpringMVC
    SpringMVC 初级操作
    试题评测
    Mybatis

  • 原文地址:https://www.cnblogs.com/CheeseZH/p/2444808.html
Copyright © 2011-2022 走看看