题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1622
这个题就是个简单的模拟题,对每个实例用第一盏灯两模拟出一个结果,第一盏等灭模拟出一个结果取较小者即可。
#include <iostream>
using namespace std;
#define MAX 10000
int main()
{
freopen("in.txt","r",stdin);
int state[MAX];
int i,r1,r2,size;
while(cin >> size)
{
for(i = 0;i < size;++i)
cin >> state[i];
r1 = r2 = 0;
for(i = 0;i < size;++i)
{
if(i % 2 == 0)
{
if(!state[i])
++r1;
else
++r2;
}
else
{
if(state[i])
++r1;
else
++r2;
}
}
cout << (r1 > r2 ? r2 : r1) << endl;
}
return 0;
}