您的位置:首页 > 其它

HDU5600

2015-12-29 23:54 190 查看
http://acm.hdu.edu.cn/showproblem.php?pid=5600

这种题 感觉没什么思路 这种题做的太少了吧

[code]#include<cstdio>

int a[1000001];
int main()
{
    int n,T;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d",&n);
        for(int i=1;i<=n;i++){
            scanf("%d",&a[i]);
        }
        for(int i=1;i<=n;i++)
        {
            if(!a[i]){
                a[i+1]=!a[i+1];
            }
        }
        if(a
){
            puts("YES");
        }
        else puts("NO");
    }
    return 0;
}

没有分析好题目的本质
题目是要求把所有的01变成0  如果这个是1 直接走过-》  0
如果是0 则需要来回 通过下一个状态来改变回来 ,所以碰到0  就只要来回一次 即可解决
所以最后我们只需要判断最后一位就可以了

还有一种方法 只要有偶数个0  中间的1总可以更新为0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: