zoukankan      html  css  js  c++  java
  • CSP认证2019-09-2-小明种苹果(续)-(Java)100分

    小明种苹果(续)

    问题描述
    试题编号: 201909-2
    试题名称: 小明种苹果(续)
    时间限制: 1.0s
    内存限制: 512.0MB
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    Java满分代码
    在这里插入图片描述
    Java代码

    import java.util.Scanner;
    
    public class Main {
        public static void main(String [] args){
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            long t = 0;        // 当前苹果数量 T
            int d = 0;         // 掉落苹果树的数量 D
            int e = 0;         // 连续三颗树掉落苹果组数 E
            int[] flag = new int[5];
            // 5个数分别代表 第一课,第二课,当前树前两颗,当前树前一颗,最后树是否掉落苹果(1),用来求 E
            for(int i = 0;i < n;i++){
                boolean flag_down = false;   // 是否掉落
                long sum = 0;                // 这颗树的苹果数量
                int m = sc.nextInt();
    
                for(int j = 0;j < m;j++){
                    int number = sc.nextInt();
                    if(j == 0) sum = number;
                    else if(number <= 0) sum += number;     // 疏果
                    else if(number < sum){ sum = number; flag_down = true; }
                }
    
                t += sum;
    
                if(flag_down){
                    d++;
                    if(i == 0) flag[0] = flag[2] = 1;          // 第一课树
                    else if(i == 1) flag[1] = flag[3] = 1;     // 第二课树
                    else if(i == n-1){                         // 最后一棵树
                        if(flag[3] == 1 && flag[0] == 1) e++;
                        if(flag[0] == 1 && flag[1] == 1) e++;
                        if(flag[2] == 1 && flag[3] == 1) e++;
                    } else {                                   // 其他树
                        if(flag[2] == 1 && flag[3] == 1) e++;
                        else { flag[2] = flag[3]; flag[3] = 1; }
                    }
                } else{
                    flag[2] = flag[3];
                    flag[3] = 0;
                }
            }
            System.out.print(t + " " + d + " " + e);
        }
    }
    
  • 相关阅读:
    文件操作一写操作
    文件操作一读操作
    python基础初识
    while循环和格式化输出
    python基础数据类型一(整数类型和布尔值)
    CentOS 6下安装nodejs 0.9.0(转)
    CentOS安装Python教程
    Discuz! X2.5数据库字典(转)
    SQL 语句中的union操作符
    thinkphp空操作和配置文件实现简化路由
  • 原文地址:https://www.cnblogs.com/jiaohuadehulike/p/14294990.html
Copyright © 2011-2022 走看看