1. 程式人生 > >第五屆計算機職業資格認證考試CCF (第一題)

第五屆計算機職業資格認證考試CCF (第一題)

2015-09-01

問題描述
  給定一個整數數列,數列中連續相同的最長整數序列算成一段,問數列中共有多少段?


輸入格式
  輸入的第一行包含一個整數n,表示數列中整數的個數。
  第二行包含n個整數a1, a2, …, an,表示給定的數列,相鄰的整數之間用一個空格分隔。


輸出格式
  輸出一個整數,表示給定的數列有多個段。


樣例輸入
8
8 8 8 0 12 12 8 0


樣例輸出
5


樣例說明
  8 8 8是第一段,0是第二段,12 12是第三段,倒數第二個整數8是第四段,最後一個0是第五段。


評測用例規模與約定
  1 ≤ n ≤ 1000,0 ≤ ai ≤ 1000。

思路:這題不難,只要依次看後一項的值 是否 和 前一項的值 相等,相等的話不計數,不等的話,count++, 結束遍歷時,輸出count就行了

#include <iostream>
using namespace std;

#define MAX 1010

int map[MAX];

int main(){
    int n,i;
    cin>>n;
    for(i=0;i<n;i++){
        cin>>map[i];
    }
    int count = 1;
    for(i=1;i<n;i++){
        if(map[i] == map[i-1])
            continue;
        else
            count++;
    }
    cout<<count<<endl;
    return 0;
}