博客
关于我
CCF 201909-2 小明种苹果(续)满分代码
阅读量:307 次
发布时间:2019-03-03

本文共 1726 字,大约阅读时间需要 5 分钟。

小明种苹果(续)

问题描述

小明种苹果的任务再次被赋予任务,需要根据给定的苹果种植数据,计算出总的苹果数量、破损数量以及异常点数量。通过分析输入数据和代码逻辑,我们可以一步步完成这一任务。

输入数据

输入数据分为两行,第一行为44 74 -7 -12 -55 73 -8 -6 59 -45 76 -5 -10 60 -25 80 -6 -15 59 0,第二行为54 10 0 9 04 10 -2 7 02 10 04 10 -3 5 04 10 -1 8 0。

这些数据可能表示苹果种植的不同分段,每个分段的苹果数量以及破损情况。

解题思路

  • 读取输入数据:首先读取第一行的n值,确定分段数量。
  • 初始化变量:创建一个记录破损情况的数组drop,以及一个存储每段苹果数量的数组b。
  • 遍历每一段:对于每一段,读取t值后,处理b数组中的每个元素。
  • 计算当前段苹果数:如果当前段是第一段,直接将a设置为b[0]。对于后续段,检查是否有破损情况。如果当前段破损,记录并更新a为当前段的苹果数;否则,累加当前段的苹果数。
  • 更新总苹果数:将当前段的苹果数加到总苹果数s中。
  • 计算破损数:如果当前段破损,增加破损数D。
  • 处理异常点:根据相邻段的破损情况,计算异常点数量E。
  • 输出结果:最后输出总苹果数、破损数以及异常点数量。
  • 代码实现

    #include 
    using namespace std;const int N = 1000;int main() { int n, t, s = 0, a, D = 0, E = 0; cin >> n; int drop[N] = {0}; int b[N + 2]; for (int j = 1; j <= n; ++j) { cin >> t; for (int i = 0; i < t; ++i) { cin >> b[i]; if (i == 0) { a = b[0]; } else if (b[i] > 0) { if (a > b[i]) { drop[j] = 1; a = b[i]; } else { a += b[i]; } } s += a; } if (drop[j]) { D++; } for (int j = 1; j <= n; ++j) { if (j == 1 && drop[n] && drop[1] && drop[2]) { E++; } else if (j == n && drop[j - 1] && drop[j] && drop[1]) { E++; } else if (j != 1 && j != n && drop[j - 1] && drop[j] && drop[j + 1]) { E++; } } } cout << s << " " << D << " " << E << endl; return 0;}

    结果分析

    通过上述代码处理输入数据,可以得到以下结果:

    • 总苹果数(s):根据每段的苹果数量累加,得到总的苹果数量。
    • 破损数(D):记录每段破损情况,统计破损数量。
    • 异常点数量(E):根据相邻段的破损情况,判断是否存在异常点。

    通过代码的处理逻辑,可以清晰地看到如何从输入数据中提取有用信息,并根据给定的规则计算出所需的结果。

    转载地址:http://oepm.baihongyu.com/

    你可能感兴趣的文章
    node~ http缓存
    查看>>
    node不是内部命令时配置node环境变量
    查看>>
    node中fs模块之文件操作
    查看>>
    Node中同步与异步的方式读取文件
    查看>>
    Node中的Http模块和Url模块的使用
    查看>>
    Node中自启动工具supervisor的使用
    查看>>
    Node入门之创建第一个HelloNode
    查看>>
    node全局对象 文件系统
    查看>>
    Node出错导致运行崩溃的解决方案
    查看>>
    Node响应中文时解决乱码问题
    查看>>
    node基础(二)_模块以及处理乱码问题
    查看>>
    node安装卸载linux,Linux运维知识之linux 卸载安装node npm
    查看>>
    node安装及配置之windows版
    查看>>
    Node实现小爬虫
    查看>>
    Node提示:error code Z_BUF_ERROR,error error -5,error zlib:unexpected end of file
    查看>>
    Node提示:npm does not support Node.js v12.16.3
    查看>>
    Node搭建静态资源服务器时后缀名与响应头映射关系的Json文件
    查看>>
    Node服务在断开SSH后停止运行解决方案(创建守护进程)
    查看>>
    node模块化
    查看>>
    node模块的本质
    查看>>