小明种苹果

 

 

 

 

 

 

#include <iostream>

using namespace std;

const int  N= 1000;
int main()
{
    int tree[N];
    int flag[N];
    int T=0, D=0, E=0;
    int n;
    cin >> n;

    for(int i=0;i<n;i++){
        flag[i]=0;    //开始假设i树没有掉落的苹果
        int times, sum, num;
        cin >> times;
        cin >> sum;
        for(int j=1;j<times;j++){
            cin >> num;
            if(num<0){
                sum = sum+num;
            }
            if(num>0){
                if(num!=sum){   //有掉落的苹果
                    flag[i] = 1;
                    sum = num;
                }
            }
        }
        if(flag[i]==1){
            D++;        //这棵树掉落了苹果,D加1
        }
        T = T+sum;
    }

    //判断是否有连续三棵树都发生苹果掉落的情况
    for(int i=0;i<n-2;i++){
        if(flag[i]==1&&flag[i+1]==1&&flag[i+2]==1){
            E++;
        }
    }
    if(flag[0]==1&&flag[n-1]==1&&flag[n-2]==1)  E++;
    if(flag[0]==1&&flag[1]==1&&flag[n-1]==1)  E++;

    cout << T <<" "<< D <<" "<<E<<endl;

    return 0;
}

 

posted @ 2020-04-17 16:16  清心lh  阅读(191)  评论(0)    收藏  举报