您的位置:首页 > 编程语言 > C语言/C++

CCF:201604-1 折点计数(C++)

2016-08-24 17:45 357 查看


#include <iostream>
using namespace std;

int main()
{
int n;
cin>>n;
int pre=-1;//前一个数
int aft=-1;//后一个数
int pre_state=0;//标定上一次的状态-1表示递减 1表示递加
int now_state=0;//标定本次的状态-1表示递减 1表示递加
int count=0;//折点个数
while(n--)
{
if(pre==-1)
{
cin>>pre;
}else if(aft==-1){
cin>>aft;
if(aft-pre>0)
{
pre_state=1;
}else{
pre_state=-1;
}
pre=aft;//别忘了记录变化
}else{
cin>>aft;
if(aft-pre>0)
{
now_state=1;
}else{
now_state=-1;
}
if(now_state!=pre_state)
{
count++;
pre_state=now_state;
}
pre=aft;//别忘了记录变化
}

}
cout<<count;
return 0;
}


题目难度不大,解题思路清晰,就是不断比较本次与上一次数值,然后判断趋势是否一致即可。祝愿大家编程愉快,万事如意。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  CCF