代码:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] T = new int[n];//代表每棵树目前的果子数
int[] D = new int[n];//代表每棵树是否发生苹果掉落
//录入数据
List list = new LinkedList<int[]>();
for(int i=0;i<n;i++){
int[] temp = new int[sc.nextInt()];
for(int j=0;j<temp.length;j++){
temp[j] = sc.nextInt();
}
list.add(temp);
}
for(int i=0;i<n;i++){//第i棵树
int[] arr = (int[]) list.get(i);
T[i] = arr[0];
for(int j=1;j<arr.length;j++){
if(arr[j] <= 0)//疏果
T[i] += arr[j];
else{//重新统计果实数量
if(arr[j] != T[i]){
D[i] = 1;
T[i] = arr[j];
}
}
}
}
int res1=0;
int res2=0;
for(int i=0;i<n;i++){
res1 += T[i];
if(D[i] == 1)
res2++;
}
//计算E
int res3=0;
for(int i=0;i<n-2;i++){
if(D[i] == 1 && D[i+1] == 1 && D[i+2] == 1)
res3++;
}
if(D[n-2]==1 && D[n-1]==1 && D[0]==1)
res3++;
if(D[n-1]==1 && D[0]==1 && D[1]==1)
res3++;
System.out.println(res1+" "+res2+" "+res3);
}
}