近几天正在疯狂的刷CCF题,写博客主要是做一下笔记以及记录一下自己的心得,如果能够帮到大家那就再好不过了,废话不多说,咱们放题:

题目概述

小明(小明事情真多)要种苹果,需要疏果把不好的苹果去掉,进行疏果完毕后需要统计出总苹果数T、疏果最多的苹果树编号k、苹果树k剩余的苹果数量P。

输入输出

输入和输出格式要严格按照题目要求,细节决定成败,尤其是在做第三题数据处理题时要格外注意输入和输出格式,否则就算你思路是对的也同样不得分。

输入格式可以简单概括为:

第一行输入两个正整数N和M,分别表示苹果树的棵数和疏果操作的轮数。然后再输入N行,每行的第一列表示对应苹果树的苹果数量,后M列分别表示每轮进行疏果的数量。每两个数之间用空格分隔。

输出格式可以简单概括为:

输出三个非负整数,分别为进行疏果完毕后的总苹果数T、疏果最多的苹果树编号k,以及苹果树k剩余的苹果数量P。要保证输出苹果个数是非负的。

思路

CCF的第一题一般都是比较简单的题,基本不需要使用到其他算法,通过看输入和输出样例就可以大致明白题目的意思。

这道题的解法大致分为三个步骤:

  1. 先对每棵树的疏果数累加,然后进行排序和比较得到疏果最多苹果树编号k;
  2. 计算每个苹果树疏果后的剩余数量,根据k找到对应的苹果树P;
  3. 累加每个苹果树的苹果数量得到总苹果树T。

具体解释请看代码分析:

#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
using namespace std;
int N, M;/*
定义结构体appletree,
num表示一棵苹果树上苹果数量,
nums表示每轮疏果时该苹果树的蔬果个数
*/
struct appletree
{int num;vector<int> nums;
};int main()
{//定义vector<appletree>用于存储多棵苹果树vector<appletree> appnums;cin >> N >> M;//将输入的数据存储到appnums变量中。appletree appnum;for (int i = 0; i < N; i++){cin >> appnum.num;int a_num = 0;appnum.nums.clear();for (int j = 0; j < M; j++){cin >> a_num;appnum.nums.push_back(a_num);}appnums.push_back(appnum);}//总苹果数int appsums = 0;//疏果最多的苹果树编号int max_line = 0;//该苹果树剩余的苹果数量int max_appnum = 0;//存储每个苹果树的疏果数vector<int> applinesum;for (int i = 0; i < N; i++){int qqq = 0;for (int j = 0; j < M; j++){qqq += appnums[i].nums[j];}//将疏果后苹果数量存储到appnums[i].num中appnums[i].num += qqq;//累加计算苹果总数appsums += appnums[i].num;//将每棵苹果树的疏果数分别存储到applinesumapplinesum.push_back(qqq);}//复制一个applinesum中的数据,用于排序vector<int> applinesum2(applinesum);//由于疏果是按负数存储的,所以这里的排序是按疏果数从大到小排序sort(applinesum2.begin(), applinesum2.end());//取第一个数为最大疏果数max_appnum = applinesum2[0];//根据最大疏果数找到对应的苹果树编号for (int i = 0; i < N; i++){if (max_appnum == applinesum[i]){max_line = i + 1;break;}}cout << appsums << " " << max_line << " " << abs(max_appnum) << endl;return 0;
}

测试集:

输入1:
3 3
73 -8 -6 -4
76 -5 -10 -8
80 -6 -15 0
输出1:
167 2 23输入2:
2 2
10 -3 -1
15 -4 0
输出2:
17 1 4

CCF CSP 20190901 小明种苹果 100分 解法/思想相关推荐

  1. CCF CSP 2019-9-1 小明种苹果 C语言100分

    CCF CSP 2019-9-1 小明种苹果 C语言100分 小明种苹果 完成时间11-18 16:54 代码长度510B C 正确 100分 耗时93ms 空间使用6.167MB 这道题简单,仅附上 ...

  2. CCF CSP 201909-1小明种苹果 C语言版

    关键词:201909-1 小明种苹果 C语言 先上代码为敬,题目在后面 编译环境:Dev C++ 5.11 语言:C语言 #include <stdio.h> struct tree {i ...

  3. CCF CSP 2019-09-2 小明种苹果(续) 解题思路及满分代码(C++11)

    文章目录 问题描述 问题分析 满分代码 问题描述 问题分析 题目不难理解,求T(苹果的总数)和E(有苹果掉落的树的个数)也没什么难度,遍历数组进行判断就可以实现,这里略过(后面完整代码注释里会有). ...

  4. CSP 201909-1 小明种苹果

    题目链接:小明种苹果 满分代码 #include <iostream> #include <algorithm> using namespace std;typedef str ...

  5. ccf:201909-2 小明种苹果(续)

    小明在他的果园里种了一些苹果树,这些苹果树排列成一个圆.为了保证苹果的品质,在种植过程中要进行疏果操作.为了更及时地完成疏果操作,小明会不时地检查每棵树的状态,根据需要进行疏果.检查时,如果发现可能有 ...

  6. CSP 201909-2 小明种苹果(续)Python实现+详解

    试题 代码 # N表示苹果树的棵树 N = int(input()) T, D, E = 0, 0, 0 # 所有树剩果总数 # 发生苹果掉落的苹果树总数 # 相邻三棵树发生苹果掉落的组数 treeM ...

  7. CSP 2019-09-1 小明种苹果 Python实现+详解

    试题 代码 # N,M分别表示树的棵树和疏果轮数 N,M = [int(i) for i in input().split()]leftTrees = 0#最后所有树树上的苹果总数 reduceMax ...

  8. #CSP 201909-1 小明种苹果

    #include <stdio.h> #include <limits.h> int main(void) {int n, m, a, drop, i, j;int all = ...

  9. CCF 201909-2 小明种苹果(续) python 满分

    CCF 201909-2 小明种苹果(续) python 满分 题目叙述 问题描述:略 输入格式:略 输出格式:略 样例 满分证明 解题思路 自己版本 大佬版本 满分代码 满分代码一 自己版本 满分代 ...

最新文章

  1. 关于案例教学大家都有些什么看法呢?
  2. oracle两表同步java代码,利用DBLink+JOB实现两个Oracle数据库之间的数据同步
  3. 1.1 为什么选择序列模型-深度学习第五课《序列模型》-Stanford吴恩达教授
  4. python基础入门:内置函数之排列组合函数教程
  5. 【Oracle】PL/SQL Developer使用技巧(持续更新中)
  6. RabbitMQ集群、镜像部署配置
  7. 【图嵌入】DeepWalk原理与代码实战
  8. 二叉搜索树的删除操作可以交换吗_JavaScript数据结构 — 二叉搜索树(BST)ES6实现...
  9. 计算机二级mysql程序设计题库_计算机二级MySQL数据程序设计模拟试题
  10. 全球电动车竞争加剧 特斯拉全球市场份额持续下滑
  11. Qt4访问sqlite数据库
  12. h3c c语言题库,H3C认证试题
  13. Requests库常用方法及其详解
  14. sourceInsight
  15. java docx4j api,docx4j api中文
  16. jQuery选择器详细介绍
  17. QT 对话框添加背景图片的方法
  18. server2012离线安装.netfx3.5/dotnetfx3.5环境
  19. AJAX的概括(异步传输)
  20. User Story用户情景与用例规约

热门文章

  1. Ajax学习日志(七)—— 解决低版本IE浏览器的缓存问题
  2. 让一个有宽高的盒子垂直水平居中
  3. freeswitch之入口函数
  4. 60句经典浪漫爱情语言
  5. [league/glide]两行代码实现一套强大的图片处理HTTP服务
  6. 域名解析需要多久生效?域名解析常见问题解答
  7. 2013年02月24日 元宵夜晚
  8. 打开百度地图先出现北京然后再是当前的地址的问题解决办法
  9. 搭建gateway踩的坑
  10. 关于我国计算机事业发展的描述,[说明]冯康的计算数学人生.doc