Problem4407--小Q的游戏

4407: 小Q的游戏

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

一天,小Q想玩多米诺骨牌,但他家里没有,于是他采用矩形磁体代替。每个矩形磁铁有两极:正极(“+”)和负极(“-”)。如果把两个磁铁水平方向靠近,就会出现“同极相斥、异极相吸”的现象。一开始,小Q在桌子上水平地放上一块磁铁。接下来,小Q会把磁铁一块接一块的放在原有磁铁的右端。根据“同极相斥、异极相吸”的原理,小Q每放上一块新磁铁,就有可能出现相吸或者相斥的情况。如果新磁铁和原磁铁相吸,它就加入到这个组(一个或多个磁铁连接在一起形成一组),如果新磁铁和原磁铁相斥,它就成为一个新组。如下图,1、2、3块磁铁组成第一组,第4块磁铁单独成为一组,第5、6块磁铁组成一组,所以如图一共有三组:

为了描述方便,我们用1表示磁铁的正极(+),用0表示磁铁的负极(-),所以每个磁铁可以用“10”或者“01”来表示。
现在,小Q把他摆放磁铁的顺序告诉你,请帮忙统计出这些磁铁被分为几组?

Input

第一行:一个整数n(1≤n≤100000)磁铁数量。
接下来n行:第i行(1≤ i ≤ n)中包含一个01串;“01”表示小明把第i个磁铁按照“-+”的位置摆放,“10”则表示小明把磁铁按照“+-”的位置水平摆放。

Output

只有一行,输出磁铁组的数量。

Sample 1 Input

6
10 10 10 01 10 10

Sample 1 Output

3

HINT

【输入输出样例1解释】
输入样例1
输出样例1
6
10 10 10 01 10 10
3
6个磁铁摆放后的顺序依次为:

共2组。
【输入输出样例2解释】
输入样例2
输出样例2
4
01 01 10 10
2

4个磁铁摆放后的顺序依次为:

共3组。

【数据范围】

对于10%的数据:n≤10;
对于50%的数据:n≤10000;
对于100%的数据:n≤100000。

Source/Category

C++语法 1.4.循环结构