专栏首页Don的成长史【CCF】折点计数

【CCF】折点计数

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42449444/article/details/84934038

试题编号:

201604-1

试题名称:

折点计数

时间限制:

1.0s

内存限制:

256.0MB

问题描述:

问题描述   给定n个整数表示一个商店连续n天的销售量。如果某天之前销售量在增长,而后一天销售量减少,则称这一天为折点,反过来如果之前销售量减少而后一天销售量增长,也称这一天为折点。其他的天都不是折点。如下图中,第3天和第6天是折点。   给定n个整数a1, a2, …, an表示销售量,请计算出这些天总共有多少个折点。   为了减少歧义,我们给定的数据保证:在这n天中相邻两天的销售量总是不同的,即ai-1≠ai。注意,如果两天不相邻,销售量可能相同。 输入格式   输入的第一行包含一个整数n。   第二行包含n个整数,用空格分隔,分别表示a1, a2, …, an。 输出格式   输出一个整数,表示折点出现的数量。 样例输入 7 5 4 1 2 3 6 4 样例输出 2 评测用例规模与约定   所有评测用例满足:1 ≤ n ≤ 1000,每天的销售量是不超过10000的非负整数。

解题思路:

这题最关键的部分就在于找折点。如果数组中相邻俩天销售量的变化量跟前一天销售量的变化量符号是不一样的(一正一负),就说明这个点是折点,用count计录折点数,最后输出折点的数量就行了。

100分代码:

#include <bits/stdc++.h>

using namespace std;

int main()

{

int n; //表示一个商店连续n天的销售量

cin >> n;

int a[n];

int count = 0; //用来记录折点的数量

int change; //相邻俩天的变化量

bool flag = true; //前俩天一直为true

for (int i = 0; i < n; i++)

{

cin >> a[i]; //商店每天的销售量

if(i > 0)

{

if(!flag)

{

if((a[i]-a[i-1]<0&&change>0)||(a[i]-a[i-1]>0&&change<0))

{

count++;

}

change = a[i] - a[i-1];

}

else

{

change = a[i]-a[i-1];

flag =false;

}

}

}

cout << count << endl;

return 0;

}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【CCF】图像旋转

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    喜欢ctrl的cxk
  • 【蓝桥杯】BASIC-16 分解质因数

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    喜欢ctrl的cxk
  • 【CCF】相邻数对

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    喜欢ctrl的cxk
  • F-Stack 1.20 Roadmap

        F-Stack 1.20 将于 2019Q3 发布, 同步 Roadmap。 已支持: 支持在 docker 中运行 支持客户端 bind/conn...

    F-Stack
  • 不同路径问题

    一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。

    你的益达
  • 算法训练 删除数组零元素

    从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函...

    AI那点小事
  • c语言内嵌汇编代码之constraint modifier中 & 的作用

    在阅读本文之前,请先阅读gcc的相关文档,确保对如何在c中使用汇编语言有个基本的认识。

    wangyuntao
  • 算法提高 01背包

    问题描述   给定N个物品,每个物品有一个重量W和一个价值V.你有一个能装M重量的背包.问怎么装使得所装价值最大.每个物品只有一个. 输入格式   ...

    AI那点小事
  • TSP(个人模版)

    O(n^2)TSP: 1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 4 ...

    Angel_Kitty
  • 函数

    func (x,y int)int{ return x+y }(1,2) 这代码前半句,是创建了一个匿名函数后面使用(1,2)是直接执行这个函数

    酷走天涯

扫码关注云+社区

领取腾讯云代金券