直接去判断数是不是正数,是正数的话比较下和现在的数 如果正数小的话,说明有掉落,有掉落的树 用数组标记下哪颗树有掉落,注意是个环 以每个i为连续三棵掉落的树的第一棵树 判断下就好

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a[1005];
int main(){

      int n,m,sum=0,d=0,e=0;
      cin>>n;
      for(int i=1,t;i<=n;i++){

          cin>>t;
          ll ans;
          cin>>ans;
          int f=0;
          for(int j=1,x;j<t;j++){

              cin>>x;
              if(x<=0) ans+=x;
              else
              {
                  if(ans!=x) f++;
                   ans=x;
              }
          }
          sum+=ans;
          if(f) d++,a[i]=1;
      }

      a[n+1]=a[1],a[n+2]=a[2];

      for(int i=1;i<=n;i++){

         if(a[i] && a[i+1] && a[i+2])
            e++;
      }
      cout<<sum<<" "<<d<<" "<<e;


}