CCF CSP 201909-01 小明种苹果 100分

博客讲述了小明在果园种苹果并进行疏果操作的问题,涉及输入输出格式、算法思想、数据结构设计和实现技术。通过输入苹果树和疏果轮数,计算最后一轮疏果后所有苹果树的剩余苹果总数,以及疏果最多苹果树的编号和疏果数量。
摘要由CSDN通过智能技术生成

201909-01

问题描述
小明在他的果园里种了一些苹果树。为了保证苹果的品质,在种植过程中要进行若干轮疏果操作,也就是提前从树上把不好的苹果去掉。第一轮疏果操作开始前,小明记录了每棵树上苹果的个数。每轮疏果操作时,小明都记录了从每棵树上去掉的苹果个数。在最后一轮疏果操作结束后,请帮助小明统计相关的信息。

输入格式
从标准输入读入数据。
第1行包含两个正整数N和M,分别表示苹果树的棵数和疏果操作的轮数。第1+i行(1 ≤i sN),每行包含M+1个整数aso,ai1,… . , aiMo
其中ao为正整
数,表示第一轮疏果操作开始前第﹔棵树上苹果的个数。aj ( 1 ≤ j ≤M)为零或负整数,表示第j轮疏果操作时从第﹔棵树上去掉的苹果个数。如果为零,表示没有去掉苹果;如果为负,其绝对值为去掉的苹果个数。
每行中相邻两个数之间用一个空格分隔。

输出格式
输出到标准输出。
输出只有一行,包含三个整数T、k和P。其中,
T为最后一轮疏果操作后所有苹果树上剩下的苹果总数(假设苹果不会因为其他原因减少);
k为疏果个数(也就是疏果操作去掉的苹果个数)最多的苹果树编号(如有并列,输出满足条件的最小编号);
P为该苹果树的疏果个数。
相邻两个数之间用一个空格分隔。输入数据保证是正确的,也就是说,每棵树在全部疏果操作结束后剩下的苹果个数是非负的。

算法思想
定义一个结构体Tree存放每棵树原有的果子个数apple,需要多轮疏果的数量存放在数组a中,剩余的果子数量存放在shengyu中,定义最大疏果数delmax为0,。
输入N后,就可定义一个结构体数组tree[N],循环输入每一颗树的苹果数量和每轮的疏果数量,将每颗数经过每轮后剩余的苹果个数存入结构体中,并用f计算此次循环的疏果数;判断f是否大于最大疏果数delmax,若是,则将f赋值给delmax,并把此时下标赋值给max。
再将每棵树剩余的苹果数量相加。输出结果

数据结构设计
struct Tree{
int apple;
int a[1005];
int shengyu;
};

算法步骤
1.输入苹果树棵数N和疏果轮数
2.定义tree[N]存放苹果树原来的苹果数量apple、每轮疏果数数组a、剩余的苹果数量shengyu。
3.将i初始化为0,判断i是否小于苹果棵数N,若是,则转4,
4.输入苹果数量,并将苹果数量赋值给shengyu;
5.将j初始化为0,判断j是否小于轮数M,若是,则转6
6.输入此树每轮疏果数量存入a数组中,将剩余的苹果数量+疏果数量,统计每棵树的疏果总数,f=f-疏果数量。
7.判断f是否大于最大疏果数delmax,若是则转8,若否则转
8.将f赋值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值