201604-1 折点计数
题目
思路
用flag记录前一段折线是在上升还是下降,这一段不一样就cnt++。
AC代码如下
#include<cstdio>
int main(){
int n,t,pre,ans=0,flag=0;
scanf("%d",&n);
if(n<=2) {
printf("0\n");
return 0;
}
scanf("%d%d",&pre,&t);
n-=2;
if(pre>t) flag=0;//flag==0表示正在减
else flag=1;//flag==1表示正在增
pre=t;
while(n--){
scanf("%d",&t);
if(pre>t&&flag) {ans++;flag=0;}
else if(pre<t&&flag==0) {ans++;flag=1;}
pre=t;
}
printf("%d\n",ans);
return 0;
}