题目描述
在小G面前有一排灯,有的灯是亮的有的灯是灭的,假如小G按了一个灯的开关,那么这个灯和它后面的都会变成相反的状态,既灭的亮,亮的灭.
现在小G想把所有的灯打开,请问最少需要按多少个开关?
输入
第一行输入一个数n(n<=1000),表示有n盏灯
第二行输入n个数,表示n盏灯的当前状态,0表示灯灭,1表示灯亮
输出
最少的操作数是多少。
样例输入
5 0 0 0 0 0
样例输出
1
#include<iostream>
#define num 1010
using namespace std;
int main()
{
int n;
cin>>n;
int a[num];
for(int i=0;i<n;i++)
cin>>a[i];
int t=0;
for(int i=0;i<n;)
{
if(a[i]==0)
{
for(int j=i;j<n;j++)
{
a[j]=!a[j];
}
i++;
t++;
}
else
{
i++;
}
}
cout<<t<<endl;
return 0;
}