HDU -- 5601 N*M bulbs 【思维 + 规律】
来源:互联网 发布:互联网大数据挖掘 编辑:程序博客网 时间:2024/05/18 00:33
传送门
//这道题和HDU5600很相似, 只是从一维拓展到了二维. 那么解决方法和5600也比较相似.
我们可以发现, 从起点开始去把除起点以外的为1的点全部变成0, 再回到起点, 除了起点和为1的那个点状态改变为相反状态, 其他的点都没有受影响(随便画一画就可以知道了). 最后起点的状态是由除起点以外1的个数决定的. 如果是奇数那么最后状态相反, 否则不变. 所以最后要考虑的就是从起点到终点的路线. 这条路线上除起点状态不确定外, 其他的都是0, 那么由5600的规律可以发现只要这条路上0的个数为偶数那么就是YES, 否则就是NO. 细节代码会再次说明.
AC Code
/** @Cain*/void solve(){ int n,m; scanf("%d%d",&n,&m); int flag = 0; int cnt = 0; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ int u; scanf("%d",&u); if(i==0 && j ==0) flag = u; else cnt += u; } } flag = cnt%2==1?1-flag:flag; //判断起点最终的状态. if((n+m-1-flag)%2 == 0) puts("YES"); //n+m-1表示从起点到终点经过的格子数,如果flag为0,那么表示这条路全为0.则直接判奇偶就行. //若flag=1,那么0的个数就是n+m-2. 也是直接判奇偶就行. 所以就是这么写就可都考虑到. else puts("NO");}
阅读全文
0 0
- HDU -- 5601 N*M bulbs 【思维 + 规律】
- hdu 5601 N*M bulbs(规律)
- hdu 5601 N*M bulbs 找规律
- HDU-5601 N*M bulbs(推导||规律)
- hdu 5601 N*M bulbs(找规律)
- HDU -- 5600 N bulbs 【思维 + 规律】
- HDU 5601:N*M bulbs
- hdu 5601 N*M bulbs
- HDU 5601 N*M bulbs
- HDU 5601 N*M bulbs
- hdoj N*M bulbs 5601 (规律)
- HDU 5601 N*M bulbs 乱搞
- HDU 5601 N*M bulbs(机智)
- hdu 5601(5600) /BC 67B(A) N*M bulbs
- BestCoder Round #67-N*M bulbs(规律)
- 杭电OJ 5601N*M bulbs (论思维定式的口怕)
- 杭电5601 N*M bulbs
- hdu5601 N*M bulbs
- 分时操作系统与实时操作系统
- jQuery的引入与应用
- jdbc获取数据库元数据的四个接口
- caffe训练
- Android Input流程分析(二):EventHub
- HDU -- 5601 N*M bulbs 【思维 + 规律】
- Redis与memcached
- oracle查看当前用户信息
- 高效学习-编程
- ibatis与mybatis区别?Hibernate、MyBatis、JDBC区别?
- 不用框架,python实现卷积神经网络
- 用数字电路和模拟电路搭建出循迹小车(二)
- 指针的引用与运算
- Linux7中使用udev