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++ 201903-1 小中大 题解

CCF-CSP C/C++ 201912-1 报数 题解

CCF-CSP C/C++ 202009-2 风险人群筛查 题解

CCF-CSP C/C++ 201912-2 回收站选址 题解

CCF-CSP C/C++ 201909-2 小明种苹果(续) 题解

CCF-CSP C/C++ 202009-1 称检测点查询 题解