小明种苹果
#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; }