#include<iostream>
using namespace std;
int main()
{
int N;//苹果的棵树
int sum=0;//总苹果数
int appleNum0=0;//初始时苹果的果子数
int appleNum=0;//除初始苹果的输入的苹果数
int fallNums=0;//掉落的果子数
int fallNumofApple=0; //掉落的苹果棵树
bool isFall=false;//是否掉落
int borderNum=0;//连续三棵树发生掉落的组数
int mi=0;//第i行后面的整数个数
cin>>N;
int arr[N];
int i,j;
for(i=0;i<N;i++)
{
fallNums=0;
cin>>mi;
for(j=0;j<mi;j++)
{
if(j==0)
{
cin>>appleNum0;
sum+=appleNum0;
}
else
{
cin>>appleNum;
if(appleNum<=0)
{
fallNums-=appleNum;
}
else if(appleNum>0&&appleNum0-fallNums>appleNum)
{
fallNums=appleNum0-appleNum;
isFall=true;
arr[i]=1;//表示该树发生掉落
}
}
if(arr[i%N]==1&&arr[(i+1)%N]==1&&arr[(i+2)%N]==1)
{
borderNum++;
}
}
if(isFall)
{
fallNumofApple++;
isFall=false;
}
sum-=fallNums;
}
cout<<sum<<" "<<fallNumofApple<<" "<<borderNum<<" ";
return 0;
}
csp认证考试 2019 9月第二题 提交上去就是50分,自己根据例子测试的也对,找不到错误,求大神帮助! 代码如下:
最新推荐文章于 2024-09-05 18:18:10 发布
本文介绍了一种算法,用于统计给定数量的苹果树中,苹果的总数量、掉落的苹果树数量以及连续三棵树发生掉落的组数。通过输入每棵树的初始苹果数和后续变化数,算法能够准确计算出最终的苹果总数、掉落苹果树的数量以及特定掉落模式的出现次数。
5696

被折叠的 条评论
为什么被折叠?



