2019-9-2 小明种苹果 续

问题描述

试题编号: 201909-2
试题名称: 小明种苹果(续)
时间限制: 1.0s
内存限制: 512.0MB
问题描述:


 
//苹果树围成一个圆圈,环状结构,相连问题,通过多开辟空间,转换成顺序表形式

#include<stdio.h> #include<string.h> #include<map> int main () { int n,m; int D=0, E=0;//D发生掉落的情况,E发生连续三棵树发生掉落的情况 int pre[1010];//未蔬果前的苹果数 int drop[1010]={0};//第i+1颗树是否落下,0否,1是 scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%d",&m); for(int j=0;j<m;j++) { if(j==0) { scanf("%d",&pre[i]); } else { int a; scanf("%d",&a); if(a<=0)//梳果操作 { pre[i]+=a; } else//统计操作 { if(a<pre[i] && flag==0)//发生掉落情况 { D++; flag=1; drop[i]=1;//第i颗树发生掉落 } pre[i]=a; } } } } drop[n]=drop[0];//通过把前两个单元赋值到后面,实现圆转化成顺序表形式 drop[n+1]=drop[1]; for(int i=0;i<=n+1;i++)//连续三个连续的情况 卡住 90分 { if(drop[i]&&drop[i+1]&&drop[i+2])//连续三个掉落 { E++; } } int sum=0; for(int i=0;i<n;i++)//统计剩余苹果数 { sum+=pre[i]; } printf("%d %d %d\n",sum, D, E); //printf("%d %d\n",D,E); return 0; } /* 4 4 74 -7 -12 -5 5 73 -8 -6 59 -4 5 76 -5 -10 60 -2 5 80 -6 -15 59 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 4 2 2 1 2 2 1 2 2 1 2 2 1 */

  


posted @ 2021-02-28 18:48  永恒&  阅读(68)  评论(0编辑  收藏  举报