折点计数(201604-1/CCF)———附带思路和完整代码

0 效果

在这里插入图片描述

1 题目

在这里插入图片描述
评测用例规模与约定
  所有评测用例满足:1 ≤ n ≤ 1000,每天的销售量是不超过10000的非负整数。

2 思路

每次存储上一次输入的值,与这次输入的值进行比较(这次输入的值减上次输入的值),如果两者的差值和上一次差值异号,则属于折点。

属性
输入值num5412364
上次输入值contrastNum541236
变化趋势trend-1-1+1+1+1-1

3 代码

#include<cstdio>

int main(){
	int n, contrastNum = -1, num, ans = 0;
	int trend = 0;//up-->1, down-->-1
	scanf("%d", &n);
	while(n--){
		scanf("%d", &num);
		if(contrastNum != -1){
			if(trend == 1 && num - contrastNum <  0) ans++;
			else if(trend == -1 && num - contrastNum >  0) ans++;
			if(num - contrastNum > 0){
				trend = 1;
			}else{
				trend = -1;
			}
		}
		contrastNum = num;			
	}
	printf("%d", ans);
	return 0;
}
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 岁月 设计师:pinMode 返回首页