题目链接
思路
两大坑点:
一颗苹果树可能进行多次疏果。只要当前苹果树上苹果的值大于输入的那个正数的值,就表示发生了落果。
当苹果树只有三棵时,且均有落果,则E为3,不是1。斯认为这个很不科学,就应该是1。不过写1只能得90分,只好听题主爸爸~
代码
#include <bits/stdc++.h>
using namespace std;
/*
当只有3苹果树且均掉果子时,E的值是3,不是1
3
4 90 -10 70 -5
4 80 -5 70 -5
4 70 -5 60 -3
*/
int main(){
int n;
cin>>n;
int sum = 0,D=0;
int a[n]={0};
for(int i=0;i<n;i++){
int k;
cin>>k;
int num;
cin>>num;
bool flag = true;
for(int j=1;j<k;j++){
int t;
cin>>t;
if(t<=0){
num += t;
}else{
if(num>t){
flag = false;
num = t;
a[i] = 1;
}
}
}
sum += num;
if(flag == false){
D++;
}
}
int E=0;
for(int i=0;i<n; i++)
{
if(a[i]==1&&a[(i+1)%n]==1&&a[(i+2)%n]==1)
E++;
}
cout<<sum<<' '<<D<<' '<<E;
return 0;
}