#include<bits/stdc++.h>
using namespace std;
//int a[100005];
int n,sum=0,zu_num=0,m,ap,k=0,d=0;
int a[1005];
int main()
{
memset(a,0,sizeof(a));
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>m;
int sumk=0;
for(int j=0;j<m;j++)
{
cin>>ap;
if(j>0&&ap>0){
if(sumk>ap){k++;a[k]=i;}
sumk=ap;
}
else{sumk+=ap;}
}
sum+=sumk;
}
if(k>=3)
{
for(int i=1;i<=k;i++)
for(int j=(i+1)%k;j<=k;j++)
{
if(a[i]%n+1==a[j]&&a[j]%n+1==a[(j+1)%k])
zu_num++;
}
}
cout<<sum<<' '<<k<<' '<<zu_num;
return 0;
}
/*
5
4 10 0 9 0
4 10 -2 7 0
2 10 0
4 10 -3 5 0
4 10 -1 8 0*/
判断三棵树的编号是否连续的这里的for太麻烦了,借鉴一下大佬的写法
bool f[]数组,把每个树是否疏果记录下来,重要的代码来了
0-4
for(int i=0;i<n;i++)
{
if(f[i]&&f[(i+1)%n]&&f[(i+2)%n])
}