Codeforces Round #521 (Div. 3) B. Disturbed People

题解

题目大意 n个灯0关灯1开灯 101则中间的睡不着 问最少关掉多少个灯可以全都能睡着

遇见101则将后面的1的灯泡关掉 这样解决10101的问题 计数输出即可

AC代码

#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

const int INF = 0x3f3f3f3f;
const int MAXN = 1e2 + 10;
int a[MAXN];

int main()
{
#ifdef LOCAL
	freopen("C:/input.txt", "r", stdin);
#endif
	int N;
	cin >> N;
	for (int i = 1; i <= N; i++)
		scanf("%d", &a[i]);
	int cnt = 0;
	for (int i = 2; i < N; i++)
		if (a[i - 1] && !a[i] && a[i + 1]) //101则将后面的关闭
			a[i + 1] = 0, cnt++;
	cout << cnt << endl;

	return 0;
}

猜你喜欢

转载自blog.csdn.net/CaprYang/article/details/84147699