zoukankan      html  css  js  c++  java
  • 财政bug之”Y2K Accounting Bug“

     题目大意:

      这是一道题目很长,而且不太好理解的题(也许是我英语渣)。

      总而言之,就是一个公司,我们叫它 A公司。

      A公司的员工发现,A公司的记账方式有 ”bug“ ,因为即使每次记账都是亏损,但是年底一算,却盈利了。

      接下来是这个记账方式:

        A公司 每连续的五个月记一次账,一年记八次账。分别是

          1 - 5月,2 - 6月。。。8 - 12 月

        在这一年中,每个月亏损和盈利是你输入的定整数值 s 和 d,s 代表赚钱,d 代表亏钱。

        也就是说 我要亏就一个月亏 d 元,要赚就一个月赚 s 元。

      要求输入 s 和 d ,输出在每次记账都亏的情况下,一年最多赚多少。

      如果怎么算都是赔钱,则输出  Deficit  。

      样例:    59 237           --> 116

             375 743              --> 28

             200000 849694            --> 300612

             2500000 8000000        --> Deficit  

    解题思路:

      让我们小小的贪一下,如果想让一年到头赚的最多,就得先赚一波,但是因为五个月一轮回,所以不能赚的太多。

      因为五个月的剩下几个月要亏成狗,但要正好亏到负值,而不是一直亏。

      所以问题就变成:怎么赚了再亏能亏回来。

      然后就变成了判断 s 和 d 的大小关系的一道题。

    AC代码:

     1 import java.util.*;
     2 
     3 public class Main{
     4     public static void main(String[] args){
     5         Scanner sc = new Scanner(System.in);
     6         while(sc.hasNext()){
     7             long a = sc.nextLong();
     8             long b = sc.nextLong();
     9             int flag = 0;
    10             if(4 * a < b && flag == 0){
    11                 long t = 0;t = 10 * a - 2 * b;
    12                 if(t > 0){System.out.println(t);}
    13                 else{System.out.println("Deficit");}
    14                 flag = 1;
    15             }
    16             if(3 * a < 2 * b && flag == 0){
    17                 long t = 0;t = 8 * a - 4 * b;
    18                 if(t > 0){System.out.println(t);}
    19                 else{System.out.println("Deficit");}
    20                 flag = 1;
    21             }
    22             if(2 * a < 3 * b && flag == 0){
    23                 long t = 0;t = 6 * a - 6 * b;
    24                 if(t > 0){System.out.println(t);}
    25                 else{System.out.println("Deficit");}
    26                 flag = 1;
    27             }
    28             if(a < 4 * b && flag == 0){
    29                 long t = 0;t = 3 * a - 9 * b;
    30                 if(t > 0){System.out.println(t);}
    31                 else{System.out.println("Deficit");}
    32                 flag = 1;
    33             }
    34             if(flag == 0){System.out.println("Deficit");}
    35         }
    36     }
    37 }
  • 相关阅读:
    查看linux系统的版本
    单机运行环境搭建之 --CentOS-6.5安装配置Tengine
    nginx启动、重启、关闭
    JAVASE02-Unit010: 多线程基础 、 TCP通信
    俄罗斯方块小游戏
    JAVASE02-Unit09: 多线程基础
    JAVASE02-Unit08: 文本数据IO操作 、 异常处理
    JAVASE02-Unit07: 基本IO操作 、 文本数据IO操作
    JAVASE02-Unit06: 文件操作——File 、 文件操作—— RandomAccessFile
    JAVASE02-Unit05: 集合操作 —— 查找表
  • 原文地址:https://www.cnblogs.com/love-fromAtoZ/p/7551569.html
Copyright © 2011-2022 走看看