
来源:CCF
标签:
参考资料:
相似题目:
小明在他的果园里种了一些苹果树。为了保证苹果的品质,在种植过程中要进行若干轮疏果操作,也就是提前从树上把不好的苹果去掉。第一轮疏果操作开始前,小明记录了每棵树上苹果的个数。每轮疏果操作时,小明都记录了从每棵树上去掉的苹果个数。在最后一轮疏果操作结束后,请帮助小明统计相关的信息。
从标准输入读入数据。
第1行包含两个正整数N和M,分别表示苹果树的棵数和疏果操作的轮数。
第1+i行(1<=i<=N),每行包含M+1个整数 a i 0 , a i 1 , . . . , a i M a_{i0}, a_{i1}, ..., a_{iM} ai0,ai1,...,aiM。其中 a i 0 a_{i0} ai0为正整数,表示第一轮疏果操作开始前第;棵树上苹果的个数。 a i j a_{ij} aij(1<=j<=M)为零或负整数,表示第j轮疏果操作时从第i棵树上去掉的苹果个数。如果为零,表示没有去掉苹果;如果为负,其绝对值为去掉的苹果个数。
每行中相邻两个数之间用一个空格分隔。
输出到标准输出。
输出只有一行,包含三个整数T、k和P,其中,
.T为最后一轮疏果操作后所有苹果树上剩下的苹果总数(假设苹果不会因为其他原因减少)
·k为疏果个数(也就是疏果操作去掉的苹果个数)最多的苹果树编号(如有并列,输出满足条件的最小编号);·P为该苹果树的疏果个数。
相邻两个数之间用一个空格分隔。输入数据保证是正确的,也就是说,每棵树在全部疏果操作结束后剩下的苹果个数是非负的。
3 3
73 -8 -6 -4
76 -5 -10 -8
80 -6 -15 0
167 2 23
第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
10 -3 -1
15 -4 0
17 1 4
两棵树的疏果个数均为4,应该输出编号最小的第1棵树。
请直接参考代码。
#include<cstdio>int N, M;
int T, k, P; int main(){int d; //输入疏果个数int maxd=0; //最大疏果个数 scanf("%d%d", &N, &M);for(int i=0; i<N; i++){P=0;scanf("%d", &d); //第一轮开始前的苹果个数 T+=d;for(int j=1; j<=M; j++){scanf("%d", &d);T+=d;P-=d;}if(P>maxd){maxd=P;k=i+1;}}printf("%d %d %dn", T, k, maxd);return 0;
}
本文发布于:2024-03-14 13:53:37,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/1710822821149693.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
| 留言与评论(共有 0 条评论) |