题目
代码
package fushi;
import java.util.Scanner;
//小明种苹果(续)
public class test4 {
//判断是否为负数
static boolean judge(int n) {
if(n<=0) {
return true;
}else {
return false;
}
}
//判断树是否为有掉落
static boolean has(int n) {
if(n==1) {
return true;
}else {
return false;
}
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String s = scan.nextLine();
int N = Integer.parseInt(s);//苹果数的棵树
int[] A = new int[N];//每一棵树 操作的轮次
int[] B = new int[N];//第一轮开始前的苹果数
int T = 0;//所有操作完成后,所有苹果树上剩下的苹果总数
int[] DD = new int[N];//每棵树的是否掉落
int D = 0;//有掉落的树的数量
int E = 0;//相邻连续三棵树发生苹果掉落情况的组数
//获取每棵树的信息(每一行)
for (int i = 0; i < N; i++) {
String[] t = scan.nextLine().split(" ");
A[i] = Integer.parseInt(t[0]);
B[i] = Integer.parseInt(t[1]);
for (int j = 2; j <= A[i]; j++) {
int d = Integer.parseInt(t[j]);//从每一行的第三个数开始
if(judge(d)) {
B[i]+=d;
}else {
if(B[i]>d) {//判断是否有苹果掉落
DD[i] = 1;
}
B[i] = d;
}
}
T+=B[i];
D+=DD[i];//有掉落的树的数量
}
//统计有连续三个掉落的组数
for (int i = 0; i < N; i++) {
if(has(DD[i])&&has(DD[(i+1)%N])&&has(DD[(i+2)%N])) {
E++;
}
}
System.out.println(T+" "+D+" "+E);
// for (int i = 0; i < N; i++) {
// System.out.println(A[i]+","+B[i]);
// }
// System.out.println(T);
// for (int i = 0; i < N; i++) {
// System.out.print(DD[i]+" ");
// }
}
}
来源:CSDN
作者:DeNara
链接:https://blog.csdn.net/weixin_46128796/article/details/104503370