344A. Magnets
疯狂的科学家迈克通过排列一排排多米诺骨牌来娱乐自己。不过,他不需要多米诺骨牌:他使用矩形磁铁代替。每个磁铁都有两个磁极,正极(“加”)和负极(“减”)。如果将两块磁铁放在很近的距离上,那么相似的磁极会相互排斥,而相反的磁极会相互吸引。
迈克首先将一块磁铁水平放在桌子上。在接下来的每个步骤中,Mike 都会在行的右端水平添加一个磁铁。根据迈克将磁铁放在桌子上的方式,它要么被前一个磁铁吸引(形成一组连接在一起的多个磁铁),要么被它排斥(然后迈克将这块磁铁放在离前一个磁铁右边一定距离的地方)。我们假设一个不与其他磁铁相连的唯一磁铁会形成自己的磁铁组。
迈克将多个磁铁排成一排。确定磁铁形成的组数。
输入
输入的第一行包含一个整数 n(1 ≤ n ≤ 100000)——磁铁的数量。然后 n 行紧随其后。第 i 行 (1 ≤ i ≤ n) 包含字符“01”(如果 Mike 将第 i 个磁铁放在“正负”位置)或字符“10”(如果 Mike 将磁铁放在“负加”位置)。
输出
在输出的单行上打印磁铁组数。
例子
输入
6
10
10
10
01
10
10
输出
3
输入
4
01
01
10
10
输出
2
注意
第一个测试用例与图相对应。测试用例有三组,由三个、一个和两个磁铁组成。
第二个测试用例有两组,每组由两个磁铁组成。
解决方法:
// codeforces
// 344A. Magnets
# include<iostream>
using namespace std;
int main()
{
int n, Gnum = 1, a, b;
cin >> n;
cin >> a;
for(int i = 1; i < n; i++)
{
cin >> b;
if(a != b)
{
Gnum++;
}
a = b;
}
cout << Gnum;
return 0;
}