模拟题,尝试用python3写了一发,发现不能ac,觉得可能是python写挂了,又用C++写了一遍,还是只能90分。
最后通过看他人的博客被点醒,N=3且3组都有掉落情况时,E=3!!
其实还是自己读题能力弱了,题意中有对第三个统计量的形式化解释:

是满足条件的元素个数。
另外,还需要注意总和数T可能爆int,需要开longlong(python无视)

C++代码:
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll n,cnt=0,a;
const ll N=1000+5;
ll vis[N];
ll D,E,T;
int main()
{
ll n,m;
cin>>n;
T=D=E=0;
for(ll i=1;i<=n;i++)
{
cin>>m;
cin>>a;
ll temp=a;
for(ll j=2;j<=m;j++)
{
cin>>a;
if(a>0)
{
if(temp>a&&!vis[i])
{
D++;
vis[i]=1;
}
temp=a;
}
else temp+=a;
}
T+=temp;
if(i>=3&&vis[i-2]&&vis[i-1]&&vis[i])E++;
}
if(n>=3&&vis[1]&&vis[n-1]&&vis[n]) E++;
if(n>=3&&vis[1]&&vis[2]&&vis[n])E++;
cout<<T<<' '<<D<<' '<<E<<endl;
return 0;
}
PYTHON3代码:
n=int(input())
T=0
D=E=0
vis=[]
for i in range(0,n):
list=input().split()
temp=int(list[1])
vis.append(0)
for j in range(2,len(list)):
a=int(list[j])
if(a>0):
if(temp>a and vis[i]==0):
D+=1
vis[i]=1
temp=a
else:temp+=a
T+=temp
if(i>=2 and vis[i-2] and vis[i-1] and vis[i]):E+=1
if(n>=3 and vis[0] and vis[n-1] and vis[n-2]):E+=1
if(n>=3 and vis[0] and vis[1] and vis[n-1]):E+=1
print(T,D,E)
来源:https://www.cnblogs.com/Andrew-aq/p/12573327.html