hdu5600 N bulbs
来源:互联网 发布:在美国如何使用淘宝 编辑:程序博客网 时间:2024/05/17 01:57
#include <stdio.h>
#include <string.h>
int main()
{
int i, j, T, N, num, time;
scanf("%d", &T);
while(T--)
{
time = 0;
scanf("%d", &N);
scanf("%d", &num);
if(N == 1)
{
if(num == 1) printf("YES\n");
else printf("NO\n");
continue;
}
if(num == 0) time ++;
N --;
while(N --)
{
scanf("%d", &num);
if(num == 0) time ++;
}
if(time % 2 == 0) printf("YES\n");
else printf("NO\n");
}
return 0;
#include <string.h>
int main()
{
int i, j, T, N, num, time;
scanf("%d", &T);
while(T--)
{
time = 0;
scanf("%d", &N);
scanf("%d", &num);
if(N == 1)
{
if(num == 1) printf("YES\n");
else printf("NO\n");
continue;
}
if(num == 0) time ++;
N --;
while(N --)
{
scanf("%d", &num);
if(num == 0) time ++;
}
if(time % 2 == 0) printf("YES\n");
else printf("NO\n");
}
return 0;
}
心得:本以为是道水题,结果挺有意思的。本题很像我们小时候玩过的游戏,类似于华容道,具体想不起来了。思路:一次走过去既然可以往回走改变状态,那01分布的位置就不重要了,具体在于个数。为1的一次走过,所以很容易变为0;重点是为0的元素,每个可以借助相邻元素变化(两个或偶数个),但当其为奇数个时总有一个变一次从而变为1而没有元素与其匹配,所以当0的个数为偶数个时就可以通过,从而将元素全变为0。注意N=1的特殊情况。
还没完全相同,回家再想,就要做火车回家喽,22小时,好兴奋~
0 0
- HDU5600:N bulbs
- hdu5600 N bulbs
- HDU5600
- HDOJ 5600 N bulbs
- hdu 5600 N bulbs
- hdu5601 N*M bulbs
- HDU 5600:N bulbs
- HDU5601:N*M bulbs
- hdu 5600 N bulbs
- HDU 5600 N bulbs
- HDU 5601:N*M bulbs
- 杭电5600 N bulbs
- hdu 5601 N*M bulbs
- HDU 5601 N*M bulbs
- HDU 5601 N*M bulbs
- BestCoder Round #67 N bulbs
- HDOJ 5600-N bulbs【模拟】
- Bulbs
- iOS经典讲解之设置颜色注意事项
- web网站响应时间的评判标准
- 让我们一起写出更有效的CSharp代码吧,少年们!
- 连接第一次连接MySqL数据库 相当慢
- iOS 的一些小知识总结
- hdu5600 N bulbs
- 在 Eclipse 中使用 PHP
- RelativeLayout相对布局
- 如何让页面过时并指定一个过时时间?
- 压力测试、负载测试、容量测试和强度测试的区别
- c#调用TeamViewer或AnyDesk实现远程控制
- winform程序编译的时候,项目里的xml生成到debug目录下对应方法
- Leetcode 85. Maximal Rectangle
- C++创建对象,new与不new的区别