csp试题1:小明种苹果

2023-11-09

csp试题1:小明种苹果

题目

题目描述
      小明在他的果园里种了一些苹果树。为了保证苹果的品质,在种植过程中要进行若干轮疏果操作,也就是提前从树上把不好的苹果去掉。第一轮疏果操作开始前,小明记录了每棵树上苹果的个数。每轮疏果操作时,小明都记录了从每棵树上去掉的苹果个数。在最后一轮疏果操作结束后,请帮助小明统计相关的信息。
输入格式
      从标准输入读入数据。
      第1行包含两个正整数N和M,分别表示苹果树的棵数和疏果操作的轮数。
      第1+i行(1<= i <= N),每行包含M+1个整数ai0,ai1,…,aiM。其中ai0为正整数,表示第一轮疏果操作开始前第i棵树上苹果的个数。aij(1 <= j <= M)为零或负整数,表示第j轮疏果操作时从第i棵树上去掉的苹果个数。如果为0,表示没有去掉苹果;如果为负,其绝对值为去掉的苹果个数。
      每行中相邻两个数之间用一个空格分隔。
输出格式
      输出到标准输出。
      输出只有一行,包含三个整数T、k和P。其中,
        T为最后一轮疏果操作后所有苹果树上剩下的苹果总数(假设苹果不会因为其它原因减少);
        k为疏果个数(也就是疏果操作去掉的苹果个数)最多的苹果树编号;
        P为该苹果树的疏果个数。
      相邻两个数之间用一个空格分隔。输入的数据保证是正确的,也就是说,每棵树在全部疏果操作结束后剩下的苹果个数是非负的。
样例1
输入:

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 2
10 -3 -1
15 -4 0

输出:

17 1 4

样例解释:
      两棵树的疏果个数均为4,应输出编号最小的第1棵数。
子任务
    1
    |aij|<= 106,对所有1 <= i <= N, 0<= j <= M。

分析

      只需要将数据接收到数据对象中,然后是单纯的计算,最后的寻找最大值时也只需要一次遍历即可完成。

代码

/*
20190925
csp试题1:小明种苹果 
*/

#include <iostream>
using namespace std;

int apples[1001];
int drops[1001][1001]; 
int tree_drop[1001]; 

int main(){
	//接收数据
	int N, M;
	cin >>N >>M;
	for(int i=0; i<N; i++){
		cin >>apples[i];
		for(int j=0; j<M; j++){
			cin >>drops[i][j];
		}
	}
	
	//计算最后的苹果总数
	int all = 0;
	int drop_num = 0;
	for(int i=0; i<N; i++){
		all += apples[i];
		for(int j=0; j<M; j++){
			drop_num += drops[i][j];
		}
	} 
	all = all + drop_num; 
	
	//计算疏果最多的苹果树编号及疏果个数
	//计算每棵树减去的苹果数 
	int temp = 0;
	for(int i=0; i<N; i++){
		for(int j=0; j<M; j++){
			temp += drops[i][j]; 
		}
		tree_drop[i] = -temp;
		temp = 0;
	} 
	//找最大值和对应编号 
	int max_num = tree_drop[0];
	int id = 1;
	for(int i=1; i<N; i++){
		if(max_num < tree_drop[i]){
			max_num = tree_drop[i];
			id = i+1;
		}
	}
	
	//输出
	cout <<all <<" " <<id <<" " <<max_num<<endl; 
	
	return 0;
} 

总结

      这个题并不难,在示例1的解释中甚至给出了求最后剩余苹果个数的过程。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

csp试题1:小明种苹果 的相关文章

随机推荐

  • JAVA对象在内存中运行机制

    在方法中创建一个对象时 在方法栈中只存有对象在堆中的地址 对象本身存放在堆内存中 类中的非static成员属于对象在堆中被创建 类中的static成员属于类并在运行类时存放在永生代中
  • PV、EV、AC、BAC、EAC、ETC等的含义及计算公式

    PV EV AC BAC EAC ETC等计算公式含义 PV Planned Value 计划值 应该完成多少工作 按照计划截止目前应该花费的预算 AC Actual Cost 实际成本 完成工作的实际成本是多少 截止目前实际的花费 EV
  • multiple definition of(变量或者函数)

    今天在公司写项目的时候 遇到如下错误 半个小时了 没看出来问题出在哪里 我看了好几遍代码 确认没有重定义 后来问旁边的大牛 才发现自己手误 错吧 include area h 写成 include area c 千万得小心啊 有时候心里想的
  • Qt + C++编程问题系列1:解决因this指针被析构导致的崩溃问题<初识enable_shared_from_this类及使用智能指针的好处>

    这里是目录 前言 原因 解决办法 boost和C 11 结尾 前言 在基于Qt和C 开发的程序运行的时候 程序突然发生崩溃 在查找原因的时候花费的时间比较多 情形一般情况遇不到 因此写篇博客记录一下 原因 在Qt编程中 很多时候为了不让数据
  • Hive 安装与配置步骤

    Hive 安装与配置步骤 一 下载版本 1 1下载hive 1 2 直接用 wget 下载 1 3 解压 二 配置文件 2 1 修改hive env sh 2 2 修改hive log4j properties 2 3 配置MySQL作为M
  • C++库std::flush介绍

    std flush 介绍 使用场景 示例 调试场景 实时进度指示场景 保证日志完整性场景 介绍 std flush 是C 标准库 中的一个操作符 用于刷新输出流 刷新输出流表示将缓冲区中的数据立即发送到关联的输出设备 例如屏幕或文件 在某些
  • R语言金融分析作业(一)

    1 从WDI分别下载所有国家2016年和2017年GDP数据 1 计算经济增长 2 变成宽数据 library WDI library reshape 在线获取数据 DF lt WDI country all indicator NY GD
  • python导出时序数据精度缺失解决办法(对时序数据重采样)

    源码 import pandas as pd 导入数据 parse dates True 将时间转换成时间类型的索引 df pd read excel D 机器人采集数据样本 xlsx index col 时间 parse dates Tr
  • 七天玩转Redis

    目录 1 搭建环境 2 测试Redis 3 StringRedisTemplate 3 1 介绍 3 2 StringRedisTemplate常用操作 3 3 StringRedisTemplate的使用 4 RedisTemplate
  • Swing开发之JComboBox篇

    JList和ComboBox很相似 因为这两个组件都显示一个项列表 因此 它们都有扩展ListModel接口的模型 而且 这两个组件都有绘制器 这些绘制器通过实现ListCellBenderer接口来绘制列表单元 但是 列表和组合框在施工方
  • 装上后这 14 个插件后,PyCharm 真的是无敌的存在

    来源 Python编程时光 作者 写代码的明哥 Key Promoter X 如果让我给新手推荐一个 PyCharm 必装插件 那一定是 Key Promoter X 它就相当于一个快捷键管理大师 它时刻地在 教导你 当下你的这个操作 应该
  • linux查看设备网卡MAC和IP地址以及设置MAC ip的注意事项

    1 查看设备的MAC和IP Linux Unix操作系统熟悉的人都通常是用console命令控制台来进行相应的操作 Linux Unix操作系统查看网卡mac地址的方法可以通过以下命令获得 1 ifconfig a 2 ip link sh
  • 华为OD机试 - 简单的解压缩算法

    题目描述 现需要实现一种算法 能将一组压缩字符串还原成原始字符串 还原规则如下 1 字符后面加数字N 表示重复字符N次 例如 压缩内容为A3 表示原始字符串为AAA 2 花括号中的字符串加数字N 表示花括号中的字符重复N次 例如压缩内容为
  • Ubuntu检查apt-get软件列表

    1 搜索所有列表 sudo apt cache search all 2 搜索所有软件并去掉重复 sudo apt cache search all wc 3 检索指定软件 sudo apt cache search all grep gc
  • Android 全局黑白化-模拟颜色空间

    概述 平台 RK3568 Android 11 在一些特殊的日子 如默哀日 灾难日 纪念日 哀悼日等 许多的APP 网页 海报等都开始使用黑白色主题 Android 的全局黑白实现方案 可以考虑使用模拟颜色空间的方法 借助硬件加速渲染选项
  • Altium Designer 20 (14)——绿色报错消除

    一 问题 再更新完PCB之后会有绿色报错 二 问题解决 这是一种错误提示 2 1 解决一 按下TM 复位绿色报错 但是移动就会出现 2 2 解决二 设计规则检查 关掉所有检查 留下电器检查 这样要还是存在绿色报错 点击TM 2个按键就好了
  • 实现KNN算法&搭建人工神经网络ANN——第三次数据挖掘实验

    实验结果直接戳这里免费下载实验报告 决策树算法的实验还没做 做了之后再上传吧 最近有点忙555 文章目录 1 KNN算法 1 1 KNN算法原理 1 2 KNN算法的优点 1 3 KNN算法的缺点 1 4 KNN的做法 目的 1 5 编程实
  • qt 正则表达式

    以上是正则表达式的格式说明 以下是自己写的正则表达式 22 25行 是一种设置正则表达式的方式 29 34行 29行 new一个正则表达式的过滤器对象 30行 正则表达式 的过滤格式 这个格式是0 321的任意数字都可以输入 31行 将过滤
  • 8月21日星期三 恒指/美原油/美黄金 走势分析

    财经早餐 2019年8月21日星期三 重点关注的财经数据与事件 20 30 加拿大7月CPI月率 22 00 美国7月成屋销售总数年化 22 30 美国至8月16日当周EIA原油库存 次日02 00 美联储公布7月货币政策会议纪要 恒指 恒
  • csp试题1:小明种苹果

    csp试题1 小明种苹果 题目 分析 代码 总结 题目 题目描述 小明在他的果园里种了一些苹果树 为了保证苹果的品质 在种植过程中要进行若干轮疏果操作 也就是提前从树上把不好的苹果去掉 第一轮疏果操作开始前 小明记录了每棵树上苹果的个数 每