1、以下代码得分一半:50分
# include <stdio.h>
int apples[1001];
int isdrops[1001];
int drops[1001][1001];
int main() {
int N;
int all = 0, drop_tree_num = 0;
scanf("%d", &N);
for (int i = 0; i < N; ++i) {
int M, Count1, all_num = 0, drop_num = 0;
scanf("%d", &M);
scanf("%d", &apples[i]);
Count1 = apples[i];
all_num = apples[i];
for (int j = 0; j < M - 1; ++j) {
scanf("%d", &drops[i][j]);
if (drops[i][j] > 0) {
all_num = drops[i][j];
drop_num = 0;
if (Count1 != all_num) {
drop_tree_num++;
isdrops[i] = 1;
Count1 = drops[i][j];
}
} else {
drop_num += drops[i][j];
Count1 += drops[i][j];
}
}
all += (all_num + drop_num);
}
int count = 0;
for (int k = 0; k < N; ++k) {
if (k == 0) {
if (isdrops[0] == 1 && isdrops[1] == 1 && isdrops[N - 1] == 1) {
count++;
}
} else if (k == N - 1) {
if (isdrops[N - 1] == 1 && isdrops[N - 2] == 1 && isdrops[0] == 1) {
count++;
}
} else {
if (isdrops[k] == 1 && isdrops[k - 1] == 1 && isdrops[k + 1] == 1) {
count++;
}
}
}
//计算数据
printf("%d ", all);
printf("%d ", drop_tree_num);
printf("%d", count);
return 0;
}