总结
- 提到圆,想到环/队列,i%Length==?
- 给的数据样例是二维的,尽量少开数组,反复编写小明这两道题,减少开数组的依赖
- 多对比自己的逻辑输出,优化提升
代码
#include<cstdio>
#include<cmath>
#define MAX 1000
int main(){
int N,m,amount,num;
int T=0,E=0,D=0;
int drop[MAX]={0};
scanf("%d",&N);
for(int i=0;i<N;i++){
scanf("%d",&m);
scanf("%d",&amount);
for(int j=1;j<m;j++){
scanf("%d",&num);
if(num<=0){
amount+=num;
}
else{
if(amount!=num)
drop[i]=1;
amount=num;
}
}
if(drop[i])
D++;
T+=amount;
}
for(int i=0;i<N;i++){
if(drop[i] == 1 && drop[(i+1)%N]==1 && drop[(i+2)%N]==1)
E++;
}
printf("%d %d %d", T, D, E);
return 0;
}