BC #67 / hdu 5600 N bulbs·找规律

题解

题意:熊孩子从头走到尾,可以往左,也可以往右,每次经过一个位置就必须拨动开关,问当熊孩子走到最后一个位置的时候能否全部灭灯

1.如果当前位置是1,可以直接经过
2.如果当前位置是0,可以借助下一个位置来回走消除取反,但是会使下一个位置取反

接着便是从头到尾走一遍,看看最后位置能否变1(没有下一个位置,不可能是第2种情况)


在这里插入图片描述


#include <bits/stdc++.h>
using namespace std;
const int N=1e6+10;
int a[N];
int n,m,k;

int main(){
    ios::sync_with_stdio(0);
    int T;
    cin>>T;
    for (int cs = 1; cs <= T; ++cs) {

        cin>>n;
        for (int i = 1; i <= n; ++i) {
            cin>>a[i];
        }
        for (int i = 1; i <= n; ++i) {
            if(!a[i])a[i+1]^=1;
        }
        if(!a[n])puts("NO");
        else puts("YES");
    }
    return 0;
}
发布了34 篇原创文章 · 获赞 0 · 访问量 951

猜你喜欢

转载自blog.csdn.net/Yubing792289314/article/details/104225574
今日推荐