HDU5600
来源:互联网 发布:智能建站 软件 编辑:程序博客网 时间:2024/06/05 07:28
http://acm.hdu.edu.cn/showproblem.php?pid=5600
这种题 感觉没什么思路 这种题做的太少了吧
#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[n]){ puts("YES"); } else puts("NO"); } return 0;}没有分析好题目的本质题目是要求把所有的01变成0 如果这个是1 直接走过-》 0如果是0 则需要来回 通过下一个状态来改变回来 ,所以碰到0 就只要来回一次 即可解决所以最后我们只需要判断最后一位就可以了还有一种方法 只要有偶数个0 中间的1总可以更新为0
0 0