小明种苹果(续)

来源:CCF

标签:

参考资料:

相似题目:

题目

小明在他的果园里种了一些苹果树,这些苹果树排列成一个圆。为了保证苹果的品质,在种植过程中要进行疏果操作。为了更及时地完成疏果操作,小明会不时地检查每棵树的状态,根据需要进行疏果。检查时,如果发现可能有苹果从树上掉落,小明会重新统计树上的苹果个数(然后根据之前的记录就可以判断是否有苹果掉落了),在全部操作结束后,请帮助小明统计相关的信息。

输入

从标准输入读入数据。
第1行包含一个正整数N,表示苹果树的棵数。
第1+i行(1<=i<=N),每行的格式为 m i , a i 1 , a i 2 . . . . , a i m i m_{i},a_{i1},a_{i2}....,a_{im_{i}} mi​,ai1​,ai2​....,aimi​​,其中,第一个正整数mi表示本行后面的整数个数。后续的m_{i}个整数表示小明对第i棵苹果树的操作记录。若 a i j a_{ij} aij​(1<=j<= m i m_{i} mi​)为正整数,则表示小明进行了重新统计该棵树上的苹果个数的操作,统计的苹果个数为 a i j a_{ij} aij​;若为零或负整数,则表示一次疏果操作,去掉的苹果个数是|aij|输入保证一定是正确的,满足:
1、 a i 1 > 0 a_{i1}>0 ai1​>0,即对于每棵树的记录,第一个操作一定是统计苹果个数(初始状态,此时不用判断是否有苹果掉落);
2、每次疏果操作保证操作后树上的苹果个数仍为正。

输出

输出到标准输出。
输出只有一行,包含三个整数T、D、E,其中,
·T为全部疏果操作结束后所有苹果树上剩下的苹果总数(假设每棵苹果树在最后一次统计苹果个数操作后苹果不会因为疏果以外的原因减少);
·D为发生苹果掉落的苹果树的棵数;
·E为相邻连续三棵树发生苹果掉落情况的组数。
对于第三个统计量的解释:N棵苹果树 A 1 , A 2 . . . A N A_{1},A_{2}...A_{N} A1​,A2​...AN​排列成一个圆,那么 A 1 A_{1} A1​与 A 2 A_{2} A2​相邻, A 2 A_{2} A2​与 A 3 A_{3} A3​相邻,… A N − 1 A_{N-1} AN−1​与 A N A_{N} AN​相邻, A N A_{N} AN​与 A 1 A_{1} A1​相邻。如果 A i − 1 , A i , A i + 1 A_{i-1},A_{i},A_{i+1} Ai−1​,Ai​,Ai+1​这三棵树都发生了苹果掉落的情况,则记为一组。形式化的,有 E = ∣ { A i , ∣ D r o p ( P r e d ( A i ) ) ∧ D r o p ( A i ) ∧ D r o p ( S u c e ( A ) ) } ∣ E=|\{A_{i}, | Drop( Pred(A_{i}) ) ∧ Drop(A_{i}) ∧ Drop( Suce(A) ) \}| E=∣{Ai​,∣Drop(Pred(Ai​))∧Drop(Ai​)∧Drop(Suce(A))}∣
其中, D r o p ( A i ) Drop(A_{i}) Drop(Ai​)表示苹果树A,是否发生苹果掉落的情况, P r e d ( A i ) Pred(A_{i}) Pred(Ai​)表示 A i A_{i} Ai​的前一棵树 A i − 1 A_{i-1} Ai−1​(如果i>1)或者 A N A_{N} AN​(如果i=1), S u c c ( A i ) Succ(A_{i}) Succ(Ai​)表示 A i A_{i} Ai​的后一棵树 A r + 1 A_{r+1} Ar+1​(如果i<N)或者 A 1 A_{1} A1​(如果i=N)

输入样例1

4
4 74 -7 -12 -5
5 73 -8 -6 59 -4
5 76 -5 -10 60 -2
5 80 -6 -15 59 0

输出样例1

222 1 0

样例解释1

全部操作结束后,第1棵树上剩下的苹果个数为74-7-12-5=50,第2棵为59-4=55,第3棵为60-2=58,第4棵为59-0=59,因此T=50+55+58+59 = 222。
其中,第3棵树在第2次统计之前剩下的苹果个数为76-5-10=61>60,因此发生了苹果掉落的情况。可以检验其他的树没有这种情况,因此D=1。
没有连续三棵树都发生苹果掉落的情况,因此E=0

输入样例2

5
4 10 0 9 0
4 10 -2 7 0
2 10 0
4 10 -3 5 0
4 10 -1 8 0

输出样例2

39 4 2

样例解释2

第1、2、4、5棵树发生了苹果掉落的情况,因此D=4,其中,连续三棵树都发生苹果掉落情况的有(5,1,2)和(4,5,1),因此E=2.

提示

解题思路

请直接参考代码。

参考代码

#include<cstdio>const int MAXN=1002;
bool has[MAXN]; //has[i]==true,第i+1棵树上有掉落 int N;
int T, D, E;int main() {int m; //操作个数int d; //操作记录 scanf("%d", &N);for(int i=0; i<N; i++) {scanf("%d", &m);int s=0; //第i棵树上的苹果总数 scanf("%d", &s);T+=s;for(int j=1;j<m;j++){scanf("%d", &d);if(d<0){s+=d;T+=d;}if(d>0){if(s>d && has[i]==false){  //有掉落,且之前未发生过掉落 has[i]=true;D++; }T-=(s-d); s=d; //重新统计该树上的苹果总数 } }}//统计组数 for(int i=0;i<N;i++){if(has[i] && has[(i+1)%N] && has[(i+2)%N]) E++;}printf("%d %d %d\n", T, D, E);return 0;
}

CCF计算机软件能力认证试题练习:201909-2 小明种苹果(续)相关推荐

  1. CCF计算机软件能力认证试题练习:201903-1 小中大

    小中大 来源:CCF 标签: 参考资料: 相似题目: 背景 在数据分析中,最小值最大值以及中位数是常用的统计信息. 题目 老师给了你 n 个整数组成的测量数据,保证有序(可能为升序或降序),可能存在重 ...

  2. CCF CSP201909-2 小明种苹果(续)

    CCF CSP201909-2 小明种苹果(续) 题目描述 要点分析 难点: 如何判断相邻连续三棵树发生苹果掉落的情况 解决办法: 先用b数组记录是否发生苹果掉落 再从1开始到N-2遍历数组, 如果连 ...

  3. CCF计算机软件能力认证试题练习:201803-2 碰撞的小球

    碰撞的小球 来源:CCF 标签: 参考资料: 相似题目: 题目 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处.有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上, ...

  4. CCF计算机软件能力认证试题练习:201809-2 买菜

    买菜 来源:CCF 标签: 参考资料: 相似题目: 题目 小H和小W来到了一条街上,两人分开买菜,他们买菜的过程可以描述为,去店里买一些菜然后去旁边的一个广场把菜装上车,两人都要买n种菜,所以也都要装 ...

  5. CCF计算机软件能力认证试题练习:201609-3 炉石传说

    炉石传说 来源:CCF 标签: 参考资料: 相似题目: 题目 <炉石传说:魔兽英雄传>(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集 ...

  6. CCF计算机软件能力认证试题练习:201803-4 棋局评估

    棋局评估 来源:CCF 标签: 参考资料: 相似题目: 题目 Alice和Bob正在玩井字棋游戏. 井字棋游戏的规则很简单:两人轮流往3*3的棋盘中放棋子,Alice放的是"X", ...

  7. CCF计算机软件能力认证试题练习:201912-3 化学方程式

    化学方程式 来源:CCF 标签: 参考资料: 相似题目: 题目 化学方程式,也称为化学反应方程式,是用化学式表示化学反应的式子.给出一组化学方程式,请你编写程序判断每个方程式是否配平(也就是方程式中等 ...

  8. CCF计算机软件能力认证试题练习:201612-2 工资计算

    工资计算 来源: 标签: 参考资料: 相似题目: 题目 小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资.假设他一个月的税前工资(扣除五险一金后.未扣税前的工资)为S元,则他应 ...

  9. CCF计算机软件能力认证试题练习:201712-3 Crontab

    Crontab 来源: 标签: 参考资料: 相似题目: 题目 输入 输出 输入样例 3 201711170032 201711222352 0 7 * * 1,3-5 get_up 30 23 * * ...

最新文章

  1. 对IsUnderPostmaster变量初步学习
  2. 牛客--追债之旅 两种解法
  3. 谷歌为雇人监听智能助手录音辩护 承诺对用户数据泄露进行调查
  4. TensorFlow(四)优化器函数Optimizer
  5. 笑傲江湖客户端服务器地址修改,《笑傲江湖》改键调整操作手把手教你玩笑傲...
  6. Java 蓝桥杯 数列特征
  7. Linux 用户及权限详解
  8. windows8 开发教程 教你制作 多点触控Helper可将任意容器内任意对象进行多点缩放...
  9. mysql表不存在但实际存在_历史上有哪些实际上并不存在的人物但很多人相信他存在的?...
  10. 观周教授新冠报告而作
  11. 神策分析 iOS SDK 代码埋点解析 | 数据采集
  12. python 递归 和 动态规划 DP算法两种方法求解 最长回文子串问题
  13. SReng日志扫描动画教程
  14. 计算机03年word做母亲节贺卡,《WORD贺卡的制作—母亲节快乐》教学反思
  15. aics6圆角插件怎么安装_AI圆角插件!助你更快设计字体 Xtream Path1.4的安装使用教程...
  16. python:It seems that scikit-learn has not been built correctly
  17. 【乐理学习笔记】音符时值和拍号
  18. 带宽,速率,吞吐量区别
  19. 银行不良资产收益权转让 模式大起底
  20. PS各个工具的字母快捷键和英…

热门文章

  1. redis存入map数据并取出
  2. 探寻回忆中的第一台电脑:一段充满兴奋与热爱的旅程
  3. 免越狱,新版苹果分身双开教程!全系统适用,速薅
  4. maven环境变量配置以及失败的原因
  5. c语言第六版第四章答案,C primer plus 第六版 第6版 004章 第四章 编程 练习 答案 中文...
  6. JAVA基本数据类型与引用数据类型
  7. heic格式怎么转化jpg格式,4种方式快速处理
  8. 电脑及服务器维护费会计分录,税控系统维护费的会计分录怎么做
  9. DEADBEEF 是什么
  10. JavaScript数组合并,参数解构方法