描述
瑞神的数学一向是最好的,连强大的咕咕东都要拜倒在瑞神的数学水平之下,虽然咕咕东很苦恼,但是咕咕东拿瑞神一点办法都没有。
5.1期间大家都出去玩了,只有瑞神还在孜孜不倦的学习,瑞神想到了一个序列,这个序列长度为n,也就是一共有n个数,瑞神给自己出了一个问题:数列有几段?
段的定义是位置连续的数值相同的最长整数序列
输入
输入第一行一个整数n,表示数的个数
接下来一行n个空格隔开的整数,表示不同的数字
输出
输出一行,这个序列有多少段
输入样例
12
2 3 3 6 6 6 1 1 4 5 1 4
输出样例
8
提示
序列可分为[2][3 3][6 6 6][1 1][4][5][1][4]共八段
数据点 | n | ai |
---|---|---|
所有数据 | <=1000 | <=1000 |
思路
本题思路较为简单,按照输入顺序将数存入数组中,然后遍历数组,使用count计数,如果a[i]!=a[i-1] count++;最后输出count即可
代码
#include<iostream>
#include<cstdio>
#include<vector>
using namespace std;
int main()
{
vector<int> a;
int n,tmp,count=1;
cin>>n;
while(n--)
{
cin>>tmp;
a.push_back(tmp);
}
tmp=0;
for(int i=0;i<a.size();i++)
{
if(a[i]!=a[tmp])
{
tmp=i;
count++;
}
}
cout<<count<<endl;
return 0;
}