题解
ans记录这个数列有几段,初始化为1。last记录上一个字符,初始化为数列的第一个字符。
从2开始循环到n,每次循环输入一个字符,若新输入字符与last不相同(说明这是序列的新的一段),ans++,last=a。
循环结束后,输出ans。
代码
#include <iostream>
#include <stdio.h>
using namespace std;
int main(int argc, char** argv) {
int n;scanf("%d",&n);
int ans=1;
int last;
scanf("%d",&last);
for(int i=2;i<=n;i++){
int a;
scanf("%d",&a);
if(a!=last){
ans++;
last=a;
}
}
printf("%d",ans);
return 0;
}