CCF-CSP 201909-2 小明种苹果(续)

在这里插入图片描述

题目

CCF-CSP 201909-2 小明种苹果(续)_第1张图片
CCF-CSP 201909-2 小明种苹果(续)_第2张图片
CCF-CSP 201909-2 小明种苹果(续)_第3张图片

代码

#include 
using namespace std;

int main()
{
	int n;
	cin>>n;
	const int N=n;
	bool drp[N]={false};//第i棵苹果树是否有苹果掉落
	int T=0;//剩余苹果数量 
	int D=0;//发生掉落苹果的苹果树的个数
	int E=0;//相邻三棵树苹果掉落的情况的组数 
	for(int i=0;i<n;i++){//对第i棵苹果树 
		int mi;
		cin>>mi;
		int ti=0;//苹果剩余量
		for(int j=0;j<mi;j++){
			int temp;
			int newti=ti;
			cin>>temp;
			if(temp>0){
				newti=temp;
				if(newti!=ti&&j!=0)drp[i]=true;
				ti=newti;
			}
			else{
				ti+=temp;//疏果,总数变化 
			}
		}
		T+=ti;
	} 
	for(int i=0;i<n;i++){//计算D,E 
		if(drp[i])D++;
		if(i==0){
			if(drp[n-1]&&drp[0]&&drp[1])E++; 
		}
		else if(i==n-1){
			if(drp[n-2]&&drp[n-1]&&drp[0])E++;
		}
		else{
			if(drp[i-1]&&drp[i]&&drp[i+1])E++;
		}
	}
	cout<<T<<' '<<D<<' '<<E;
    return 0;
}

结果

在这里插入图片描述

你可能感兴趣的:(练手刷题ing)