CCF-CSP C/C++ 201909-1 小明种苹果 题解
Posted DonquixoteXXXXX
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CCF-CSP C/C++ 201909-1 小明种苹果 题解相关的知识,希望对你有一定的参考价值。
CCF-CSP C/C++ 201909-1 小明种苹果 题解
一、题目描述
1、背景
小明在他的果园里种了一些苹果树。
为了保证苹果的品质,在种植过程中要进行若干轮疏果操作,也就是提前从树上把不好的苹果去掉。
第一轮疏果操作开始前,小明记录了每棵树上苹果的个数。
每轮疏果操作时,小明都记录了从每棵树上去掉的苹果个数。
在最后一轮疏果操作结束后,请帮助小明统计相关的信息。
2、输入格式
第 1 行包含两个正整数 N 和 M,分别表示苹果树的棵数和疏果操作的轮数。
第 1+i 行(1≤i≤N),每行包含 M+1 个整数 ai0,ai1,…,aiM。其中 ai0 为正整数,表示第一轮疏果操作开始前第 i 棵树上苹果的个数。aij (1≤j≤M)为零或负整数,表示第 j 轮疏果操作时从第 i 棵树上去掉的苹果个数。如果为零,表示没有去掉苹果;如果为负,其绝对值为去掉的苹果个数。
每行中相邻两个数之间用一个空格分隔。
3、输出格式
输出只有一行,包含三个整数 T、k 和 P。其中,
T 为最后一轮疏果操作后所有苹果树上剩下的苹果总数(假设苹果不会因为其他原因减少);
k 为疏果个数(也就是疏果操作去掉的苹果个数)最多的苹果树编号(如有并列,输出满足条件的最小编号);
P 为该苹果树的疏果个数。
相邻两个数之间用一个空格分隔。
输入数据保证是正确的,也就是说,每棵树在全部疏果操作结束后剩下的苹果个数是非负的。
4、数据范围
|aij|≤106,对所有 1≤i≤N,0≤j≤M。
5、样例
输入样例1:
3 3
73 -8 -6 -4
76 -5 -10 -8
80 -6 -15 0
输出样例1:
167 2 23
样例1解释:
第 1 棵苹果树的疏果个数为 8+6+4=18,第 2 棵为 5+10+8=23,第 3 棵为 6+15+0=21,因此最后一轮疏果操作后全部苹果树上的苹果个数总和为 (73−18)+(76−23)+(80−21)=167,疏果个数最多的是第 2 棵数,其疏果个数为 23。
输入样例2:
2 2
10 -3 -1
15 -4 0
输出样例2:
17 1 4
样例2解释:
两棵树的疏果个数均为 4,应该输出编号最小的第 1 棵树。
二、代码
#include<stdio.h>
int main()
int n,m;
scanf("%d%d",&n,&m);
int i,j;
int resultpos=0;
int abandonsum=0;
int applesum=0;
int resultmax=-1;
for(i=1;i<=n;i++)
int eachsum=0;
for(j=1;j<=m+1;j++)
int eachnum;
scanf("%d",&eachnum);
if(j==1)
applesum+=eachnum;
//printf("applesum:%d\\n",applesum);
else
eachsum+=eachnum;
//printf("eachsum:%d\\n",eachsum);
eachsum*=(-1);
abandonsum+=eachsum;
//printf("abandonsum:%d\\n",abandonsum);
if(eachsum>resultmax)
resultmax=eachsum;
resultpos=i;
printf("%d %d %d",applesum-abandonsum,resultpos,resultmax);
return 0;
以上是关于CCF-CSP C/C++ 201909-1 小明种苹果 题解的主要内容,如果未能解决你的问题,请参考以下文章
CCF-CSP C/C++ 202009-2 风险人群筛查 题解
CCF-CSP C/C++ 201912-2 回收站选址 题解